2015-03-09 3 views
0

У меня есть петля 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

Мне бы хотелось, чтобы это было по $ ret ["name"]; – Charles

+0

, используя этот код, он просто отображается при создании массива – Charles

ответ

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

Смежные вопросы