我有以下数组
$competency = array(
array(
"assessment_id" => 2,
"activity_id" => 1,
"grade" => 10,
"competency_grade" => array(
array(
"competency_id" => 1,
"grade" => 10
) ,
array(
"competency_id" => 1,
"grade" => 10
)
)
) ,
array(
"assessment_id" => 2,
"activity_id" => 1,
"grade" => 10,
"competency_grade" => array(
array(
"competency_id" => 1,
"grade" => 10
) ,
array(
"competency_id" => 1,
"grade" => 10
)
)
)
);
我把它打印成
echo "<pre>";
print_r($competency);
这一行给出的结果为
Array
(
[0] => Array
(
[assessment_id] => 2
[activity_id] => 1
[grade] => 10
[competency_grade] => Array
(
[0] => Array
(
[competency_id] => 1
[grade] => 10
)
[1] => Array
(
[competency_id] => 1
[grade] => 10
)
)
)
[1] => Array
(
[assessment_id] => 2
[activity_id] => 1
[grade] => 10
[competency_grade] => Array
(
[0] => Array
(
[competency_id] => 1
[grade] => 10
)
[1] => Array
(
[competency_id] => 1
[grade] => 10
)
)
)
)
现在我尝试在第一个表的两个表中插入数据,我使用键 assessment_id、activity_id、grade 基于它返回插入的 id,并在第二个表中使用这个插入的 id 作为下面的代码
foreach ($competency as $key => $value) {
foreach ($value as $innerkey=>$innervalue)
{
//echo "<pre>"; print_r($innerkey[0]);
$query = "insert into grading set user_id = '".$user_id."',
assessment_id = '".$innervalue['assessment_id']."',
activity_id = '".$innervalue['activity_id']."',
date = now(),
grade = '".$innervalue['grade']."'";
$result = mysql_query($query);
$grading_id= mysql_insert_id();
if($innerkey=="competency_grade"){
//foreach ($innervalue as )
foreach ($innervalue as $mostinnerkey =>$mostinnervalue)
{
$query1 = "insert into competency_grade set
competency_id = '".$mostinnervalue['competency_id']."',
grade = '".$mostinnervalue['grade']."' ,
grading_id = $grading_id ";
$result1 = mysql_query($query1);
echo mysql_error();
//print_r($mostinnervalue['competency_id']); echo "<br>";
//print_r($mostinnervalue['grade']);echo "<br>";
}
}
}
}
但是我找不到解决方案,请帮助我
问候
最佳答案
****your error might fixed use following script****
foreach ($competency as $key => $value) {
$query = "insert into grading set user_id = '".$user_id."',
assessment_id = '".$value['assessment_id']."',
activity_id = '".$value['activity_id']."',
date = now(),
grade = '".$value['grade']."'";
$result = mysql_query($query);
$grading_id= mysql_insert_id();
foreach ($value as $innerkey => $innervalue)
{
if($innerkey=="competency_grade"){
foreach ($innervalue as $mostinnerkey =>$mostinnervalue)
{
$query1 = "insert into competency_grade set competency_id = '".$mostinnervalue['competency_id']."',
grade = '".$mostinnervalue['grade']."' ,
grading_id = $grading_id ";
$result1 = mysql_query($query1);
echo mysql_error();
}
}
}
关于php - 如何遍历每个数组(内部数组)的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27310133/