PHP get the last 3 elements of an array
I have an array:
[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
)
How can I get the last 3 elements while preserving the keys? (the number of elements in the array may vary, so I cannot simply slice after the 2nd element)
So the output would be:
[16] => Array
(
[0] => john
[1] => 0
)
[17] => Array
(
[0] => harry
[1] => 0
)
[18] => Array
(
[0] => larry
[1] => 0
)
If you want to preserve key, you can pass in true as the fourth argument:
array_slice($a, -3, 3, true);
Use array_slice:
$res = array_slice($array, -3, 3, true);
You can use array_slice
with offset as -3
so you don't have to worry about the array length also by setting preserve_keys
parameter to TRUE
.
$arr = array_slice($arr,-3,3,true);