请帮我把这个伪代码翻译成真正的php代码:
foreach ($arr as $k => $v)
if ( THIS IS NOT THE LAST ELEMENT IN THE ARRAY)
doSomething();
编辑:数组可以有数字键或字符串键
发布于 2014-10-31 19:22:59
这对我来说总是管用的
foreach($array as $key => $value) {
if (end(array_keys($array)) == $key)
// Last key reached
}
编辑30/04/15
$last_key = end(array_keys($array));
reset($array);
foreach($array as $key => $value) {
if ( $key == $last_key)
// Last key reached
}
为了避免@Warren Sergent提到的E_STRICT警告
$array_keys = array_keys($array);
$last_key = end($array_keys);
发布于 2011-05-23 09:54:53
$myarray = array(
'test1' => 'foo',
'test2' => 'bar',
'test3' => 'baz',
'test4' => 'waldo'
);
$myarray2 = array(
'foo',
'bar',
'baz',
'waldo'
);
// Get the last array_key
$last = array_pop(array_keys($myarray));
foreach($myarray as $key => $value) {
if($key != $last) {
echo "$key -> $value\n";
}
}
// Get the last array_key
$last = array_pop(array_keys($myarray2));
foreach($myarray2 as $key => $value) {
if($key != $last) {
echo "$key -> $value\n";
}
}
因为array_pop
在array_keys
创建的临时数组上工作,所以它根本不修改原始数组。
$ php test.php
test1 -> foo
test2 -> bar
test3 -> baz
0 -> foo
1 -> bar
2 -> baz
发布于 2018-02-24 21:14:18
为什么不用这个非常简单的方法:
$i = 0; //a counter to track which element we are at
foreach($array as $index => $value) {
$i++;
if( $i == sizeof($array) ){
//we are at the last element of the array
}
}
https://stackoverflow.com/questions/6092054
复制相似问题