2016-04-27 11 views
0

2つの配列にキーがありません($billing)。私は無視するか、スキップするか、または与えられた配列の反復を考慮に入れずに配列を並べ替えることができる方法はありますか?いくつかのキーが抜けているPHP array_multisort

私は、エラーメッセージが表示されます。

array_multisort():引数#1が

foreach ($table as $key => $row) 
{ 
    $billing[$key] = $row['billing']['date_due']; 
} 

if ($_GET['billing']=='desc') {array_multisort($billing, SORT_DESC, $table);} 
else {array_multisort($billing, SORT_ASC, $table);} 

答えて

1

配列またはソートフラグとして期待されているあなたは/変数をかどうかを確認することができますキーが設定されているか空ではない:

<?php 
foreach ($table as $key => $row) { 
    $billing[$key] = isset($row['billing']['date_due']) ? $row['billing']['date_due'] : null; 
} 

// $billing doesn't exist, if $table is empty 
if (!empty($billing)) { 
    array_multisort($billing, ($_GET['billing']=='desc' ? SORT_DESC : SORT_ASC), $table); 
} else { 
    array_multisort($table); // or simply sort($table); 
} 

もう1つの方法は、$billing beforを初期化することですe foreach$billing = [];

+0

ありがとうございました! :-) – John

関連する問題