我真的很头疼试图迭代数组和输出元素。使用下面的数组结构,我希望能够输出partname的每个实例。
以下循环输出partname的第一个实例。我似乎无法使其适应循环遍历数组中的所有实例。我确定我错过了一些基本的东西。
foreach($ItemsArray['assignments'] as $item) {
$partname = $item['grades'][0]['partname'];
}
Array
(
[assignments] => Array
(
[0] => Array
(
[assigntmentid] => 5101
[grades] => Array
(
[0] => Array
(
[id] => 5101
[name] => Advanced AutoCad
[partid] => 6601
[partname] => Draft
[userid] => 82069
[grade] => 53
[courseid] => 6265
[fullname] => Computer Aided Design
)
)
)
[1] => Array
(
[assigntmentid] => 5101
[grades] => Array
(
[0] => Array
(
[id] => 5101
[name] => Advanced AutoCad
[partid] => 6602
[partname] => Final
[userid] => 82069
[grade] => 35
[courseid] => 6265
[fullname] => Computer Aided Design
)
)
)
)
)
答案 0 :(得分:1)
而不仅仅是通过拍打键盘进行编码。写下你的功能需要做什么。英语(或您喜欢的任何语言)。这将是:
Foreach分配,遍历所有等级并存储部分名称 等级成阵列。
然后编码:
function getPartnames($assignments) {
$partNames = array();
foreach ($assignments as $assignment) {
foreach($assignment['grades'] as $grade) {
$partNames[] = $grade['partname'];
}
}
return $partNames;
}
那我该怎么办?我只是将英语翻译成代码。
更多提示:使用有意义的变量名称。 $项目; $ ItemArray; ......没有意义。他们什么也没告诉我
答案 1 :(得分:-1)
在循环中使用额外的foreach:
foreach($ItemsArray['assignments'] as $item) {
foreach($item['grades'] as $grade) {
echo $grade['partname'];
}
}