Как мне получить массив из последних n элементов другого массива в PHP?
Как получить последние n элементов в массиве PHP в качестве другого массива?
Ответ 1
$n
равно количеству элементов, которые вы хотите от конца.
$arr = array_slice($old_arr, -$n);
Ответ 2
Вы можете использовать array_slice:
$arr = array_slice($old_arr, -$n, $n, true);
Если индексы массивов имеют для вас значение, помните, что array_slice
будет reset и изменит порядок индексов числовых массивов. Для этого вам нужен флаг preserve_keys
(4-й параметр), установленный на true.
Ответ 3
Вы можете использовать http://us2.php.net/array_slice.
$new = array_slice($old, $n);
Однако $n
- это смещение для запуска среза, поэтому для его вычисления вам нужно будет вычесть это из длины массива: $n = count($old) - $target_size
.