我有一个数组:
[13] => Array
(
[0] => joe
[1] => 0
[14] => Array
(
[0] => bob
[1] => 0
)
[15] => Array
(
[0] => sue
[1] => 0
)
[16] => Array
(
[0] => john
[1] => 0
)
[17] => Array
(
[0] => harry
[1] => 0
)
[18] => Array
(
[0] => larry
[1] => 0
)
如何在保留按键的同时获取最后3个元素? (数组中元素的数量可能会有所不同,所以我不能简单地在第二个元素后切片)
所以输出结果为:
[16] => Array
(
[0] => john
[1] => 0
)
[17] => Array
(
[0] => harry
[1] => 0
)
[18] => Array
(
[0] => larry
[1] => 0
)
答案 0 :(得分:108)
如果要保留密钥,可以传入true作为第四个参数:
array_slice($a, -3, 3, true);
答案 1 :(得分:31)
使用array_slice:
$res = array_slice($array, -3, 3, true);
答案 2 :(得分:5)
您可以将array_slice
与偏移量-3
一起使用,这样您也可以将preserve_keys
参数设置为TRUE
,从而无需担心数组长度。
$arr = array_slice($arr,-3,3,true);
答案 3 :(得分:-3)
您可以使用array_slice():
<?php
// -3 = start from the end
// true = preserve_keys
$result = array_slice($array, 0, -3, true);
?>