цикл по массиву php по алфавиту

0

У меня есть PHP Loop, который проходит через данные, я хочу, чтобы иметь возможность эхо всех этих данных в алфавитном порядке.

В настоящее время я использую массив:

$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
    я хотел бы, чтобы это было по $ ret ["name"];
Показать ещё 1 комментарий
Теги:

1 ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню