2, "activity_id" => 1, -6ren">
gpt4 book ai didi

php - 如何遍历每个数组(内部数组)的数组

转载 作者:太空宇宙 更新时间:2023-11-03 12:04:24 24 4
gpt4 key购买 nike

我有以下数组

$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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com