php排序多维数组:bool(true)而不是排序数组
我有一个多维数组$aFacetConfig,我喜欢按照每个父元素的值排序,比如“TOPIC”和“GENRE” $aFacetConfig包含php排序多维数组:bool(true)而不是排序数组,php,sorting,multidimensional-array,Php,Sorting,Multidimensional Array,我有一个多维数组$aFacetConfig,我喜欢按照每个父元素的值排序,比如“TOPIC”和“GENRE” $aFacetConfig包含 ["TOPIC"]=> array(2) { ["edit_type"]=> string(10) "predefined" ["values"]=> array(5) { [0]=> string(9) "astronomy" [1]=>
["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'];
});
$aSortedFacets=usort($aFacetConfig[$oPropertyCategory->name],函数($a,$b){
$a['values']$b['values'];
});
var_dump($aSortedFacets)只打印“1”
如何对值进行排序?您好,您可以查看文档: usort引用数组,因此他只需更改原始变量,而不创建副本
usort($aFacetConfig[$oPropertyCategory->name], function($a, $b) {
return $a['values'] <=> $b['values'];
});
var_dump($aFacetConfig);
usort($aFacetConfig[$oPropertyCategory->name],函数($a,$b){
返回$a['values']$b['values'];
});
var_dump($aFacetConfig);
您的排序值位于$aFacetConfig[$oPropertyCategory->name]
内。这说明输出只是一个布尔值,数组是经过的
如果要声明其他变量,则应使用以下方法:
$aSortedFacets = $aFacetConfig[$oPropertyCategory->name];
usort($aSortedFacets, function($a, $b) {
return $a['values'] <=> $b['values'];
});
var_dump($aSortedFacets);
$aSortedFacets=$aFacetConfig[$oPropertyCategory->name];
usort($asortedfaces,function($a,$b){
返回$a['values']$b['values'];
});
var_dump($aSortedFacets);