Подтвердить что ты не робот

PHP получает последние 3 элемента массива

У меня есть массив:

[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
        )
4b9b3361

Ответ 1

Если вы хотите сохранить ключ, вы можете передать true как четвертый аргумент:

array_slice($a, -3, 3, true);

Ответ 2

Используйте array_slice:

$res = array_slice($array, -3, 3, true);

Ответ 3

Вы можете использовать array_slice со смещением как -3, поэтому вам не нужно беспокоиться о длине массива, установив параметр preserve_keys на TRUE.

$arr = array_slice($arr,-3,3,true);                                             

Ответ 4

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

<?php
    // -3 = start from the end
    // true = preserve_keys
    $result = array_slice($array, 0, -3, true); 
?>