考虑以下数组。
$a['a'] = 1;
$a['b'] = 2;
$a['c'] = 3;
$a['d'] = 4;
然后我循环数组
foreach( $a as $q => $x )
{
# Some operations ....
if( isLastElement == false ){
#Want to do some more operation
}
}
我怎么知道当前位置是last
?
感谢。
答案 0 :(得分:2)
拿出最后一个元素的钥匙&比较
$last_key = end(array_keys($a));
foreach( $a as $q => $x )
{
# Some operations ....
if( $q == $last_key){
#Your last element
}
}
答案 1 :(得分:0)
foreach (array_slice($a, 0, -1) as $q => $x) {
}
extraProcessing(array_slice($a, -1));
编辑:
如果你想对最后一个元素进行相同的处理,我猜第一个array_slice
是没有必要的。实际上也不是最后一个。
foreach ($a as $q => $x) {
}
extraProcessing($q, $x);
循环后,最后的元素仍然可用。
答案 2 :(得分:0)
您可以使用end()
功能进行此操作。
答案 3 :(得分:0)
<?php
$a['a'] = 1;
$a['b'] = 2;
$a['c'] = 3;
$a['d'] = 4;
$endkey= end(array_keys($a));
foreach( $a as $q => $x )
{
# Some operations ....
if( $endkey == $q ){
#Want to do some more operation
echo 'last key = '.$q.' and value ='.$x;
}
}
?>