我使用foreach来显示mysql表中的项目,但它首先列出了第一项。 我想先列出最后一项。 代码:
foreach ( $result as $print ) {
$print->sender_user;
$print->reciever_user;
$print->content;
}
我的意思是,如果我向mysql表添加一个新项目,这段代码应该显示出来 它高于其他项目。
但它显示最后添加的项目。
答案 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));
在这里试试
只有while
,你不能在while条件下执行prev
,因为你丢失了数组的最后一个元素,所以它有点懒散。
$result = [1,2,3,4];
$row = end($result);
while($row = current($result)){
echo $row."\n";
prev($result);
}
我认为就是这样,我可以用goto
做一个,但那会炫耀。