有四个数组和四个foreach循环。在其他两个foreach循环中有两个foreach,我想从嵌套的foreach循环中回显一个数组值。但我不知道为什么在我的浏览器中没有打印任何内容。
$abc = array('arif'=>50, 'mofiz'=> 60, 'tofiz'=> 90);
$def = array('arif'=>55, 'mofiz'=> 65, 'tofiz'=> 95);
$ghi = array('arif'=>58, 'mofiz'=> 68, 'tofiz'=> 98);
$jkl = array('arif'=>59, 'mofiz'=> 69, 'tofiz'=> 99);
foreach ($abc as $ab):
foreach ($def as $de):
foreach ($ghi as $gh):
/*** this echo prints nothing ***/
echo $gh['arif'];
endforeach;
foreach ($jkl as $jk):
endforeach;
endforeach;
endforeach;
答案 0 :(得分:4)
$ghi = array('arif'=>58, 'mofiz'=> 68, 'tofiz'=> 98);
foreach ($ghi as $gh):
echo $gh['arif'];
endforeach;
让我们看看如何评估:
$ghi
的每个元素放入gh
变量。$gh
等于58 $gh
等于68 $gh
等于98 $ghi
中没有更多元素,已完成。这就是它不打印任何内容的原因 - 因为$gh
不是数组且没有arif
键。
我建议您详细了解how foreach loop works
我还建议您阅读一些有关代码结构的书籍,尤其是Clean Code