我需要排序我的数组值在asc顺序使用PHP。下面是我的代码:
$data=[
{"restaurant_name":"The Garage Sports Bar","distance":"0.48Km"},
{"restaurant_name":"A&P Chinese Food Express","distance":"8.81Km"},
{"restaurant_name":"Green Chilli","distance":"19.37Km"},
{"restaurant_name":"Pulcinella - Authentic Napoletana Pizza","distance":"1.31Km"}
]
我有上面的数据排序在asc顺序。我的PHP代码如下:
$sortArray = array();
foreach($data as $person){
foreach($person as $key=>$value){
if(!isset($sortArray[$key])){
$sortArray[$key] = array();
}
$sortArray[$key][] = $value;
}
}
$orderby = "distance";
array_multisort($sortArray[$orderby],SORT_ASC,$data);
排序后,我得到以下输出:
$data=[{"restaurant_name":"The Garage Sports Bar","distance":"0.48Km"},{"restaurant_name":"Pulcinella - Authentic Napoletana Pizza","distance":"1.31Km"},{"restaurant_name":"Green Chilli","distance":"19.37Km"},{"restaurant_name":"A&P Chinese Food Express","distance":"8.81Km"}]
在array_multisort
函数中指定排序类型为SORT_NUMERIC
,如下所示
array_multisort($sortArray[$orderby],SORT_ASC,SORT_NUMERIC,$dataA);