如何使用foreach获取最后一项

时间:2018-04-07 05:45:35

标签: php mysql wordpress foreach

我使用foreach来显示mysql表中的项目,但它首先列出了第一项。 我想先列出最后一项。 代码:

foreach ( $result as $print )   { 
 $print->sender_user;
 $print->reciever_user;
 $print->content;
}
  

我的意思是,如果我向mysql表添加一个新项目,这段代码应该显示出来   它高于其他项目。
但它显示最后添加的项目。

1 个答案:

答案 0 :(得分:2)

简单,使用array_reverse

http://php.net/manual/en/function.array-reverse.php

  

array_reverse - 返回一个包含反向元素的数组

$result = array_reverse($result);

foreach ( $result as $print )   { 
     $print->sender_user;
     $print->reciever_user;
     $print->content;
}

否则,如果以数字方式编制索引,则可以始终使用for

$len = count($result)-1;

for($i=$len; $i>=0; --$i){
   $row = $result[$i];
}

我最喜欢的

$result = [1,2,3,4];

$row = end($result);
do{
   echo $row."\n";
}while($row = prev($result));

在这里试试

https://3v4l.org/NINss

只有while,你不能在while条件下执行prev,因为你丢失了数组的最后一个元素,所以它有点懒散。

$result = [1,2,3,4];

$row = end($result);
while($row = current($result)){
    echo $row."\n";

    prev($result);
}

https://3v4l.org/No1Rb

我认为就是这样,我可以用goto做一个,但那会炫耀。