php按数组键排序

时间:2013-02-01 13:02:16

标签: php sorting

关于这一点有很多主题,但它们都不是我需要的。我有一个带有fname,lname等的数组。我需要使用以下代码按lname排序:

if ($myvar)

   foreach( $myvar as $key => $row) {

     echo "<p>$row->fname $row->lname";
     echo "$row->intro</p>";

     sort($row->lname);

    } else 

  echo "<p>No Results for your search.</p>";

你可以看到我扔了一个,我也尝试过ksort但没有发生任何事情。我在这个论坛上尝试了其他一些东西,但没有运气。订单错了吗?语法不正确吗?

我对此的了解有限,我认为这样做会更容易! :)请告知你是否可以。

2 个答案:

答案 0 :(得分:1)

usort($myvar, function($a,$b) {return strcmp($a->lname, $b->lname);});

虽然如评论中所述,如果这是在搜索数据库或搜索引擎,那么最好让那些对你的东西进行排序。

答案 1 :(得分:0)

在您的代码中,您似乎拥有一组数组。 如果你只有一个数组,则不需要在foreach中使用sort。 排序 - 对数组进行排序,因此请直接使用它:

if ($myvar) {
   uasort($myvar, function($a,$b) {return strcmp($a->lname, $b->lname);}));
}else{
    echo "<p>No Results for your search.</p>";
}