在数组中获取倒数第二个值

zaf*_*zaf 12 php arrays

我经常使用以下内容来获取数组中的倒数第二个值:

$z=array_pop(array_slice($array,-2,1));
Run Code Online (Sandbox Code Playgroud)

我错过了一个PHP功能一次性完成或是我最好的吗?

Art*_*cto 42

end($array);
$z = prev($array);
Run Code Online (Sandbox Code Playgroud)

这比您的解决方案更有效,因为它依赖于数组的内部指针.您的解决方案会对阵列进行不必要的复制.


Phi*_*ret 15

对于数字索引的连续数组,请尝试 $z = $array[count($array)-2];

编辑:有关更通用的选项,请查看Artefecto的答案.

  • 仅在数组以数字方式索引时才起作用,它从0开始并且没有间隙. (4认同)

ahm*_*106 7

或者在这里,应该可以工作。

$reverse = array_reverse( $array );
$z = $reverse[1];
Run Code Online (Sandbox Code Playgroud)

我正在使用这个,如果我需要的话:)