PHP获取数组的最后3个元素

ale*_*lex 55 php arrays

我有一个数组:

[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
        )
Run Code Online (Sandbox Code Playgroud)

如何在保留密钥的同时获取最后3个元素?(数组中元素的数量可能会有所不同,所以我不能简单地在第二个元素后切片)

所以输出将是:

  [16] => Array
        (
            [0] => john
            [1] => 0
        )

    [17] => Array
        (
            [0] => harry
            [1] => 0
        )

    [18] => Array
        (
            [0] => larry
            [1] => 0
        )
Run Code Online (Sandbox Code Playgroud)

And*_*ong 117

如果要保留键,可以传入true作为第四个参数:

array_slice($a, -3, 3, true);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!不知道array_slice()有第四个参数. (2认同)

fab*_*rik 33

使用array_slice:

$res = array_slice($array, -3, 3, true);
Run Code Online (Sandbox Code Playgroud)


cod*_*ict 5

您可以使用array_slice偏移量,-3因此您也不必担心数组长度也可以通过将preserve_keys参数设置为TRUE.

$arr = array_slice($arr,-3,3,true);                                             
Run Code Online (Sandbox Code Playgroud)