php检查数组索引超出范围

时间:2013-03-12 05:25:10

标签: php arrays

考虑以下数组。

$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

感谢。

4 个答案:

答案 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;
  }
}
?>