php二维数组自定义排序

$arr = array(
		'0' => array('id' =>1,'price'=>200),
		'1' => array('id' =>2,'price'=>300),
		'2' => array('id' =>3,'price'=>100),
		'3' => array('id' =>4,'price'=>120),
		'4' => array('id' =>5,'price'=>130),
		'5' => array('id' =>6,'price'=>140),
		'6' => array('id' =>7,'price'=>150),
		'7' => array('id' =>8,'price'=>600),
		);

//对这个二维数组根据价格的大小进行排序

一.使用array_multisort
       $price = array();
	foreach ($arr as $v) {
	  $price[] = $v['price'];
	}
	array_multisort($price, SORT_DESC, $arr);     

二.

使用usort

使用这个方法最大的好处就是可以自定义一些比较复杂的排序方法。

    usort($arr, function($a, $b) {
      $al = $a['price'];
      $bl = $b['price'];
      if ($al == $bl)
        return 0;
      return ($al < $bl) ? -1 : 1;
    });
    var_dump($arr);

  

原文地址:https://www.cnblogs.com/qqlong/p/8315429.html