PHP - 我如何按固定值对数组进行排序?

时间:2017-02-27 15:34:59

标签: php arrays sorting

我有一个要排序的数组,但排序或打开不起作用我如何应用排序?

// GET/POST 
$result=curl_exec ($ch);
curl_close ($ch);       
$rr = json_decode($result);     

// Prepare for SORT
$newArr = Array();
foreach($rr->doc as $k=>$v) {
  $newArr[] = $rr->doc[$k];
}        

// Apply SORT on Array
//sort($newArr);
usort($newArr,function($a,$b){return $a->label > $b->label;});

$new_list = json_encode($rr->doc);      
print_r($new_list);    
exit;

1 个答案:

答案 0 :(得分:5)

在PHP 7.0+中,您只需在此处传递UFO /太空飞船运营商:

usort($newArr, function($a,$b) { return($a->label <=> $b->label); });

在以前的版本中,它应如下所示:

usort($newArr, function($a,$b) {
  if ($a->label < $b->label) {
    return -1;
  } elseif ($a->label == $b->label) {
    return 0;
  } else {
    return 1;
  }
});

请注意,此比较仅适用于数值!如果您的输入数组包含混合/文本数据,结果可能会产生误导。