2017-10-23 11 views
1

私は多次元配列$ aFacetConfigを持っていると私は「TOPIC」と「GENRE」PHPの並べ替え多次元配列:BOOL(真)の代わりに、ソートされた配列は

$ aFacetConfigなどの各親要素の値の後にソートしたいです

["TOPIC"]=> 
    array(2) { 
    ["edit_type"]=> 
    string(10) "predefined" 
    ["values"]=> 
    array(5) { 
     [0]=> 
     string(9) "astronomy" 
     [1]=> 
     string(3) "law" 
     [2]=> 
     string(5) "music" 
     [3]=> 
     string(10) "chronicles" 
    } 
    } 
    ["GENRE"]=> 
    array(2) { 
    ["edit_type"]=> 
    string(10) "predefined" 
    ["values"]=> 
    array(40) { 
     [0]=> 
     string(13) "antiphonarium" 
     [1]=> 
     string(14) "benedictionale" 
     [2]=> 
     string(6) "biblia" 
     [3]=> 
     string(2) "at" 
    } 
    } 

が含まれていますそして今、私は、配列の値でソートしようとしています:

$aSortedFacets = usort($aFacetConfig[$oPropertyCategory->name], function($a, $b) { 
    $a['values'] <=> $b['values']; 
}); 

のvar_dump($ aSortedFacets)だけ "1" 印刷し

値のソート方法は?

答えて

0

ソートされた値は$aFacetConfig[$oPropertyCategory->name]です。 documentationは、出力がブール値に過ぎず、配列はreferenceで渡すと説明しています。

あなたはこのすべき作品、他の変数を宣言する場合:

$aSortedFacets = $aFacetConfig[$oPropertyCategory->name]; 
usort($aSortedFacets, function($a, $b) { 
    return $a['values'] <=> $b['values']; 
}); 
var_dump($aSortedFacets); 
1

こんにちは、あなたは、ドキュメントを参照してくださいすることができます

http://php.net/manual/en/function.usort.php

は配列の参照を取るusortので、彼はジュスト元VARを変更してコピーを作成しないでください。

usort($aFacetConfig[$oPropertyCategory->name], function($a, $b) { 
    return $a['values'] <=> $b['values']; 
}); 
var_dump($aFacetConfig); 
関連する問題