使用PHP时不能按键按asc顺序对值排序


Cannot sort the value in asc order as per key using PHP

我需要排序我的数组值在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);