Получение последних 6 значений из многомерного массива - PullRequest
0 голосов
/ 02 декабря 2009

Мне нужно получить последние 6 значений из многомерного массива, я пытался сделать что-то вроде этого

for($i=0;$i<6;$i++){
    $stats = array_shift($stats);
}

Но после первого массива я получаю следующую ошибку

PHP Warning: array_shift(): The argument should be an array

Существуют ли функции, которые могут сделать это в PHP?

1 Ответ

9 голосов
/ 02 декабря 2009

Вы можете использовать array_slice():

$stats = array_slice($stats, -6);

Причина, по которой ваш код не работает, заключается в том, что

  1. array_shift() удаляет из передней части массива - так что в итоге вы получите первые 6 удаленных, что не то же самое, что получить последние 6, если в вашем массиве нет 12 элементов. .
  2. array_shift редактирует массив на месте и возвращает удаленный элемент
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...