PHP 数组在 foreach() 中获取下一个键/值

2021-12-26 00:00:00 arrays loops foreach php

我正在寻找一种在 foreach() 中获取 next 和 next+1 键/值对的方法.例如:

I am looking for a way to get the next and next+1 key/value pair in a foreach(). For example:

$a = array('leg1'=>'LA', 'leg2'=>'NY', 'leg3'=>'NY', 'leg4'=>'FL');

foreach($a AS $k => $v){

    if($nextval == $v && $nextnextval == $v){
       //staying put for next two legs
    }

}

推荐答案

您无法以这种方式访问​​ next 和 next-next 值.

You can't access that way the next and next-next values.

但是你可以做类似的事情:

But you can do something similar:

$a = array('leg1'=>'LA', 'leg2'=>'NY', 'leg3'=>'NY', 'leg4'=>'FL');

$keys = array_keys($a);
foreach(array_keys($keys) AS $k ){
    $this_value = $a[$keys[$k]];
    $nextval = $a[$keys[$k+1]];
    $nextnextval = $a[$keys[$k+2]];

    if($nextval == $this_value && $nextnextval == $this_value){
       //staying put for next two legs
    }
}

相关文章