加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱资讯网 (https://www.52junxun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php二维数组按照某个元素键的值进行排序

发布时间:2022-10-11 10:46:05 所属栏目:PHP教程 来源:
导读:  在整理数据的分类时,需要用到数组的排序,而这个排序是根据数组中某个元素来进行的,下面飞鸟慕鱼博客就来说说php中的数组根据某个元素进行排序的方法。

  PHP根据数组某个值大小进行排序

  方法1:
  在整理数据的分类时,需要用到数组的排序,而这个排序是根据数组中某个元素来进行的,下面飞鸟慕鱼博客就来说说php中的数组根据某个元素进行排序的方法。
 
  PHP根据数组某个值大小进行排序
 
  方法1:php二维数组中的某个元素键进行排序
 
  示例代码:
 
  // feiniaomy.com
  $array = array(
      array(
          'color' => 'red',
          'num'  => 8,
      ),
      array(
          'color' => 'blur',
          'num'  => 10,
      ),
      array(
          'color' => 'yellow',
          'num'  => 8,
      ),
      array(
          'color' => 'green',
          'num'  => 9,
      )
  );
  //提取一个列,并去重
  $arr_num = array_unique(array_column($array, 'num'));
  rsort($arr_num); //降序排列
  // sort($arr_num); //升序排列
  $arr_news = array(); //新建一个数组,用来存放排序后的数组
  foreach ($arr_num as $key => $a) {
      foreach ($array as $k => $v) {
          if($v['num'] == $a){
              $arr_news[] = $v;
          }
      }
  }
  //打印原来的数据
  print_r($array);
  //打印排序后的数组
 
  print_r($arr_news);
  打印结果:
 
  Array
  (
      [0] => Array
          (
              [color] => red
              [num] => 8
          )
      [1] => Array
          (
              [color] => blur
              [num] => 10
          )
      [2] => Array
          (
              [color] => yellow
              [num] => 8
          )
      [3] => Array
          (
              [color] => green
              [num] => 9
          )
  )
  Array
  (
      [0] => Array
          (
              [color] => blur
              [num] => 10
          )
      [1] => Array
          (
              [color] => green
              [num] => 9
          )
      [2] => Array
 
          (
              [color] => red
              [num] => 8
          )
      [3] => Array
          (
              [color] => yellow
              [num] => 8
          )
  )
  方法2:一组数组进行排序
 
  在一维数组中PHP数组排序,直接使用 rsort() 与 sort() 方法进行排序即可。
 
  例:rsort() 降序排序
 
  $array = array(6,7,10,4,2);
  rsort($array);
  print_r($array);
  结果:
 
  Array
  (
      [0] => 10
      [1] => 7
      [2] => 6
      [3] => 4
      [4] => 2
  )
  例:sort() 升序排序
 
  $array = array(6,7,10,4,2);
  sort($array);
  print_r($array);
  结果:
 
  Array
  (
      [0] => 2
      [1] => 4
      [2] => 6
      [3] => 7
      [4] => 10
  ).
 

(编辑:我爱资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!