我从数据库中获取数组值。它只是用户的名字。 我打印它们就像它们被检索一样,我想按字母顺序打印它们的名字(升序)。我怎么能这样做?
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++;
}
}
该sort函数似乎不起作用,因为在每次循环迭代时都会返回一个名称。
答案 0 :(得分:2)
您可以使用ksort
按键对PHP数组进行排序。如果要按值排序,请使用asort
。
答案 1 :(得分: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
答案 2 :(得分:0)
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>