我有一个循环数据的PHP循环,我希望能够按字母顺序回显所有这些数据。
我目前使用的是数组:
$output[]=array();
foreach($WHM_Servers as $whm) {
foreach($server->list_accounts() as $ret) {
$output[]= '<tr class="notfirst">
<td>'.$ret["domain"].'</td>
<td>'.$ret["user"].'</td>
<td>'.CompanyInfoLookup($result["customer"], 'company').'</td>
<td>'.$ret["startdate"].'</td>
<td>'.$ret["starttime"].'</td>
<td>'.$ret["disklimit"].'</td>
<td>'.$ret["diskused"].'</td>
</tr>';
}
}
我能够在数组中添加一个键,然后从键中按字母顺序回显数组
答案 0 :(得分:5)
有几种不同的方法,我选择编写用户定义的排序函数。
$accounts = array();
$accounts[]['name'] = "Tom";
$accounts[]['name'] = "Frank";
$accounts[]['name'] = "Zed";
$accounts[]['name'] = "Aaron";
function compareNames($a, $b){
return strcmp($a['name'], $b['name']);
}
usort($accounts, "compareNames");
var_dump($accounts);
输出:
array(4) {
[0]=>
array(1) {
["name"]=>
string(5) "Aaron"
}
[1]=>
array(1) {
["name"]=>
string(5) "Frank"
}
[2]=>
array(1) {
["name"]=>
string(3) "Tom"
}
[3]=>
array(1) {
["name"]=>
string(3) "Zed"
}
}
这是一个独立的例子。要将其应用于您的示例,您需要存储数据:$accounts = $server->list_accounts()
,对其进行排序:usort($accounts, "compareNames");
,然后将其传递到您的循环中:foreach($accounts as $ret) {