考虑以下数组。
$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
不是?
谢谢。
取最后一个元素的键并进行比较。
$last_key = end(array_keys($a));
foreach( $a as $q => $x )
{
# Some operations ....
if( $q == $last_key){
#Your last element
}
}
foreach (array_slice($a, 0, -1) as $q => $x) {
}
extraProcessing(array_slice($a, -1));
编辑:
array_slice
如果您想对最后一个元素进行相同的处理,我想第一个不是必需的。其实两者都不是最后一个。
foreach ($a as $q => $x) {
}
extraProcessing($q, $x);
最后的元素在循环之后仍然可用。
您可以使用该end()
功能进行此操作。
<?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;
}
}
?>