获取php数组的最后5个元素

9 php mysql arrays

如何获取PHP数组的最后5个元素?

我的数组是由MySQL查询结果动态生成的.长度不固定.如果长度小于或等于5,则获取全部,否则为最后5.

我尝试了PHP函数last(),array_pop()但它们只返回最后一个元素.

lon*_*day 27

你需要array_slice,这正是这个.

$items = array_slice($items, -5);
Run Code Online (Sandbox Code Playgroud)

-5 意思是"在数组结束之前从五个元素开始".


Exp*_*lls 6

array_slice($array, -5)应该能解决问题


xbo*_*nez 5

array_pop()循环5次?如果返回的值是a null,那么您已经耗尽了数组.

$lastFive = array();

for($i=0;$i < 5;$i++)
{
    $obj = array_pop($yourArray);

    if ($obj == null) break;
    $lastFive[] = $obj;
}
Run Code Online (Sandbox Code Playgroud)

看到其他答案后,我不得不承认array_slice()看起来更短,更易读.