如何在 PHP 中检测关联数组迭代中的最后一个元素

所以我们有:


$myArray = ['KEY1' => 123, 'KEY2' => 456, 'KEY3' => 789];


foreach ($myArray as $key => $value) {

    echo($key . ' : ' . $value);

    

    // How to detect we reached the last $key/$value of the iteration?

 }

如果不使用计数器,我们如何优雅地检测到我们到达了循环的最后一个键/值组合?请注意,检测必须能够显示键和关联 值。不确定是否有更好的迭代选项可以解决这个问题。


莫回无
浏览 101回答 1
1回答

开满天机

你可以尝试这样的事情,$myArray = ['KEY1' => 123, 'KEY2' => 456, 'KEY3' => 789];$lstKey = array_key_last($myArray);foreach ($myArray as $key => $value) {    echo $key . ' : ' . $value, "\n";    if ($lstKey === $key)       echo "Hey, Its the last one", "\n";    // How to detect we reached the last $key/$value of the iteration?}输出,KEY1 : 123KEY2 : 456KEY3 : 789Hey, Its the last one如果你想要旧的支持(PHP 4, PHP 5, PHP 7) 你也可以使用类似的东西,$lstKey = array_keys(array_slice($myArray, -1))[0];
打开App,查看更多内容
随时随地看视频慕课网APP