按字母顺序循环浏览php数组

时间:2015-03-09 23:40:51

标签: php

我有一个循环数据的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>';
    }
}

我能够在数组中添加一个键,然后从键中按字母顺序回显数组

1 个答案:

答案 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) {