我有这个
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
答案 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;
}
}
}