好的我有一个foreach循环,想知道我是否能获得当前迭代的最后一个迭代数据值?
代码:
foreach($array as $key=>$data) {
echo "Key: ".$key." Data: ".$data."<br />";
}
结果:
Key: 0 Data: 23244
Key: 0 Data: Program ID: 39-1-1499-1
我想要的结果:
Key: 23244 Data: Program ID: 39-1-1499-1
有没有办法将当前迭代的密钥作为最后一个数据?
答案 0 :(得分:6)
我不确定我是否理解你的问题..但看起来你需要数组中的最后一项......有办法从数组中获取第一个/最后一个项而不必迭代它们。
$last_item = end($array);
查看php manual示例..
答案 1 :(得分:5)
$i=0;
foreach($array as $key=>$data) {
if($i%2 == 0){ echo "Key: ".$data;}
else{ echo "Data: ".$data."<br />";}
$i++;
}
或者那种效果应该起作用。
值得注意的是,修复问题的根源(数组)可能更好,以便以正确的格式输出,您可以使用原始代码而不是此解决方法。
答案 2 :(得分:2)
数组的第一个和最后一个元素:
foreach($array as $element) {
if ($element === reset($array))
echo 'FIRST ELEMENT!';
if ($element === end($array))
echo 'LAST ELEMENT!';
}
答案 3 :(得分:0)
您可能不希望使用foreach循环但使用函数调用。我不完全了解您的数据结构,因为键0
似乎分配了两个不同的值,您能否详细解释一下?
答案 4 :(得分:0)
这些问题令人困惑。
在foreach()循环中,最后一次迭代值仍在$ key和$ data vars中,直到它们被更改。