获取数组的最后一个元素而不更改PHP中的数组?

Jor*_*ren 9 php arrays

array_pop()将其从数组中删除.end()更改内部指针.

唯一的方法是真的有些像以下那样:

$my_array[array_pop(array_keys($my_array))];
Run Code Online (Sandbox Code Playgroud)

Arn*_*anc 24

这有效:

list($end) = array_slice($array, -1);
Run Code Online (Sandbox Code Playgroud)

array_slice($array, -1)返回一个只包含最后一个元素的数组,list()并将slice的结果的第一个元素赋值给$end.

@Alin Purcaru在评论中提出了这个建议:

$end = current(array_slice($array, -1));
Run Code Online (Sandbox Code Playgroud)

从PHP 5.4开始,这也适用:

array_slice($array, -1)[0]
Run Code Online (Sandbox Code Playgroud)

  • 那么`$ end = current(array_slice($ array,-1));`而不是`list`方法来获取数组的唯一元素? (4认同)