在修改数组后找到新密钥

时间:2011-12-12 17:51:13

标签: php arrays next

我有这个

array([0] => 4, [1] => 6, [2] => 8, [3] =>11);
$value = 6;//(refers to [1])

在核心代码之后,我的数组可能会改变为例如:

array([0] => 4, [1] => 8, [2] =>11);

如果已删除$newvalue密钥($value),我希望将变量($newvalue=8)设置为下一个值,或保持不变({{1如果$newvalue=6仍然在该数组的值中。

如果6是最后一个(11),并且已删除11,则$value应设置为4。

总结:

$newvalue

1 个答案:

答案 0 :(得分:0)

假设您的数组值始终按升序排列:

if (in_array($value, $the_array)) {
  $newvalue = $value;
} else if ($value > max($the_array)) {
  $newvalue = $the_array[0];
} else {
  foreach ($the_array as $v) {
    if ($v > $value) {
      $newvalue = $v;
      break;
    }
  }
}
相关问题