按字母顺序循环遍历 PHP 数组


loop through php array alphabetically

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

我是否可以在数组中添加一个键,然后按字母顺序从键回显数组

几种不同的方法可以做到这一点,我选择编写一个用户定义的排序函数。

$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) {