Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用字符串索引检查下一个数组项的速记方法_Php_Arrays - Fatal编程技术网

Php 使用字符串索引检查下一个数组项的速记方法

Php 使用字符串索引检查下一个数组项的速记方法,php,arrays,Php,Arrays,如果数组元素只是被推入数组中,那么数组元素会得到连续的整数索引,我可以很容易地检查下一个元素是否像这样存在 foreach($array as $id => $element) { if((isset($array[$id+1]))) { // Next array item exists } else { // Next array element does not exist } } 但是如果它们有字符串索引,例如: $array = arr

如果数组元素只是被推入数组中,那么数组元素会得到连续的整数索引,我可以很容易地检查下一个元素是否像这样存在

foreach($array as $id => $element) {
   if((isset($array[$id+1]))) {
      // Next array item exists
   } else {
      // Next array element does not exist
   }
}
但是如果它们有字符串索引,例如:

$array = array(
   'Mark' => 'Totally cool person',
   'Ben'  => 'Kind of a nerd'
);
那么,我是否可以检查下一个元素,而无需事先对元素进行计数,然后在循环中使用计数器

$n = count($array);
$i = 0;
foreach($array as $id => $element) {
   if(++$i < $n) {
      // Next array item exists
   } else {
      // Next array item does not exist
   }
}
$n=计数($array);
$i=0;
foreach($id=>$element的数组){
如果(++$i<$n){
//下一个数组项存在
}否则{
//下一个数组项不存在
}
}

}

只需循环键而不是值。如果要访问循环中的值,可以使用
$array[$keys[$id]]

$keys = array_keys($array);

foreach($keys as $id => $element) {
   if((isset($keys[$id+1]))) {
      // Next array item exists
   } else {
      // Next array element does not exist
   }
}

下一个项目不存在,仅针对数组中的最后一个项目

可能是一种简单的方法,将从数组中删除最后一项,无条件地处理数组,然后将最后一项添加到数组中,并将其作为无下一项的项处理。

如果
isset
正常(如第一段代码),则遍历
array\u键($array)
而不是
$array