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

时间:2011-03-29 06:52:33

标签: 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
        )

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

所以输出结果为:

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

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

    [18] => Array
        (
            [0] => larry
            [1] => 0
        )

4 个答案:

答案 0 :(得分:108)

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

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

答案 1 :(得分:31)

使用array_slice

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

答案 2 :(得分:5)

您可以将array_slice与偏移量-3一起使用,这样您也可以将preserve_keys参数设置为TRUE,从而无需担心数组长度。

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

答案 3 :(得分:-3)

您可以使用array_slice()

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