如何获取数组中下一个键的值和前一个键的值

时间:2014-11-22 23:22:01

标签: php arrays

如果我有这个数组:

 $arr = array(1, 2, 5, 7); 

条目的当前值为5,如何获取2的上一个值和下一个值7

如果我使用以下代码,它会起作用:

$i = 0;
foreach($result as $check){ 
    if($check == $this->item->id){
        $next = $result[$i+1];
        $prev = $result[$i-1];
    }
    $i++;
}

我一开始认为$arr[$i + 1]会给我6个

3 个答案:

答案 0 :(得分:3)

您可以使用next();prev();

像这样:

current($arr); //Use current to see the current element of your array! So in your example 5
next($arr);    //6
prev($arr);    //5

答案 1 :(得分:0)

您可以使用next()prev()

移动数组指针

答案 2 :(得分:0)

听起来你也在问为什么$arr[$i + 1]$arr[$i - 1]返回下一个和前一个元素,而不是从索引引用的数组元素的值中加或减的 $ I 即可。

请记住括号括起数组索引。如果括号内有表达式,则表达式的结果为索引;如果表达式包含变量,那么没有理由将该变量单独作为索引处理,并且在检索数组元素的值之后将应用任何其他操作。

因此,如果 $ i 为2,那么$arr[$i + 1]会为您提供 index 等于$i + 1的元素的值,即索引为3的元素,即7$arr[$i] + 1会给你6(检索索引等于$i的元素,并将其值加1)。