在foreach中获取以前的数组值

Hen*_*son 12 php arrays

我的阵列:

$arr = array("jan","feb","mar","apr","mei","jun","jul","agu","sep","okt","nov","des");
Run Code Online (Sandbox Code Playgroud)

然后我做了一个foreach

foreach($arr as $ar){
  echo $ar;
}
Run Code Online (Sandbox Code Playgroud)

将jan输出到des

我的问题是如何在当前密钥中显示以前的值?

例如,当我到达feb时,我也希望显示jan,当我到达jul时,我想显示jun等.

Mat*_*son 40

$previousValue = null;
foreach($arr as $ar){
  echo $ar;
  if($previousValue) {
    echo $previousValue;
  }
  $previousValue = $ar;
}
Run Code Online (Sandbox Code Playgroud)


Elz*_*ugi 8

您可以使用键来获取上一个键.

foreach($arr as $key => $ar){
    $prev = $arr[$key-1];
    echo  "previous value -" .$prev;
}
Run Code Online (Sandbox Code Playgroud)

你还有prev()作为内部数组指针:

$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport);    // $mode = 'bike';
$mode = next($transport);    // $mode = 'car';
$mode = prev($transport);    // $mode = 'bike';
$mode = end($transport);     // $mode = 'plane';
Run Code Online (Sandbox Code Playgroud)

  • 这仅适用于您的键是整数且按顺序 (4认同)