0

我正在从数据库中获取我的数组值。它只是用户的名字。我在检索它们时打印它们,我想按它们名称的字母顺序打印它们(升序)。我怎样才能做到这一点 ?

foreach($common_follows as $row) // $common_follows contains the IDs of users
            {

        $names=$obj2->get_user_name($row); //this function gets the name from user ID

                    while   ($rows = mysql_fetch_assoc($names)) // For getting the name of the person being followed
                    {
                sort($rows['name']); //Not seems to sort
                        echo '<img src="https://graph.facebook.com/'.$rows['user_id'].'/picture?type=normal" width="65" height="20" id="fbthumb">';
                        echo $rows['name']."<br>";
                      $count_common++;
                    }
            }

该排序函数似乎不起作用,因为在每次循环迭代中都会返回一个名称。

4

3 回答 3

3

您可以使用键对 PHP 数组进行排序ksort。如果要按值排序,请使用asort.

于 2013-01-06T17:28:22.470 回答
1

如果您想将排序移动到您的 MySQL,您可以这样做:

SELECT *
FROM users
ORDER BY name ASC

这只是您需要匹配表/列名称的示例。

使用您的示例代码,您可以制作$common_follows一个逗号分隔的字符串,即1,2,3...并将其传递到查询中,而不是循环并进行多个 MySQL 查询。这将如下所示:

SELECT *
FROM users
WHERE id IN (1,2,3) // <-- comma separated string
ORDER BY name ASC
于 2013-01-06T17:28:27.257 回答
0
<?php

 $fruits = array("lemon", "orange", "banana", "apple");
  sort($fruits);
 foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}

  ?>
于 2013-01-06T17:34:36.373 回答