我有一个数组数组。内部数组看起来像这样。
Array
(
[comparisonFeatureId] => 1188
[comparisonFeatureType] => Category
[comparisonValues] => Array
(
[0] => Not Available
[1] => Not Available
[2] => Not Available
[3] => Standard
)
[featureDescription] => Rear Reading Lamps
[groupHeader] => Convenience
)
所以我有一个上面数组的数组,我需要通过featureDescription对数组进行排序。有没有办法使用PHP内部函数之一?
答案 0 :(得分:2)
在此处查看所有PHP排序函数的列表:http://php.net/manual/en/array.sorting.php
您可能需要usort()
。
<?php
function myCmp($a, $b)
{
return strcmp($a["featureDescription"], $b["featureDescription"]);
}
usort($myArray, "myCmp");
答案 1 :(得分:1)
一种方法是使用array_multisort功能。唯一的缺点是,您需要从阵列的第一级获得所有featureDescription值的副本(以示例的快速方式)。
$featureDescriptionValues = array();
foreach ($myArray as $node)
{
$featureDescriptionValues[] = $node['featureDescription'];
}
array_multisort($myArray, $featureDescriptionValues, SORT_STRING, SORT_ASC);
$featureDescriptionValues
的显示顺序与$myArray
中显示的顺序相同非常重要。