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

PHP对数组进行排序

发布时间:2023-01-30 13:22:19 所属栏目:PHP教程 来源:
导读:  在用PHP进行WEB应用开发中我们经常需要对数组进行排序,强大的PHP也内置了很多方便我们排序的函数。让我们来看一下。

  对值数组进行排序sort/rsort

  这两个函数基本上是一样的,只是一个是正序,一
  在用PHP进行WEB应用开发中我们经常需要对数组进行排序,强大的PHP也内置了很多方便我们排序的函数。让我们来看一下。
 
  对值数组进行排序sort/rsort
 
  这两个函数基本上是一样的,只是一个是正序,一个是反序。下面其它的也是成对的,就不再说明了。
 
  这组函数只对数组的值进行排序,所有的KEY都会被丢弃掉。所以这组函数适合对值数组进行排序。
 
  关于sort_flags这个参数,这里说明一下。下面如果出现sort_flag也是一样的用法。
 
  下面给出例子
 
  $fruits?= array("lemon", "orange", "banana", "apple");
 
  sort($fruits);
 
  foreach ($fruits as $key => $val) {
 
      echo "fruits[".$key."] = " . $val . "\n";
 
  }
 
  输出
 
  fruits[0]?= apple
 
  fruits[1] = banana
 
  fruits[2] = lemon
 
  fruits[3] = orange
 
  对关联数组的值进行排序asort/arsort
 
  这组函数和上面的一组函相似,但他们适合对关联数组进行排序PHP数组排序,也就是说排序之后原来的键和值还是会保持原来的关联性。
 
  $fruits?= array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
 
  asort($fruits);
 
  foreach ($fruits as $key => $val) {
 
      echo "$key = $val\n";
 
  }
 
  输出
 
  c?= apple
 
  b = banana
 
  d = lemon
 
  a = orange
 
  对关联数组的key进行排序ksort/krsort
 
  这组数组会对关联数组的key进行排序,排好之后key和value还是保持原来的关联。
 
  $fruits?= array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
 
  ksort($fruits);
 
  foreach ($fruits as $key => $val) {
 
      echo "$key = $val\n";
 
  }
 
  输出
 
  a?= orange
 
  b = banana
 
  c = apple
 
  d = lemon
 
  自然排序
 
  关于自然排序的概念,可以看这Natural order String Comparison
 
  这个函数和asort一样会保持数据的key和value的关联性,但他的排序方法是自然排序,就是和人通常对字母数字进行排序时的方法一样。下面给出一个例子,比较一下大家就明白了。
 
  $array1?= $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
 
  sort($array1);
 
  echo "Standard sorting\n";
 
  print_r($array1);
 
  natsort($array2);
 
  echo "\nNatural order sorting\n";
 
  print_r($array2);
 
  输出
 
  Standard?sorting
 
  Array
 
  (
 
      [0] => img1.png
 
      [1] => img10.png
 
      [2] => img12.png
 
      [3] => img2.png
 
  )
 
  Natural order sorting
 
  Array
 
  (
 
      [3] => img1.png
 
      [2] => img2.png
 
      [1] => img10.png
 
      [0] => img12.png
 
  )
 
 

(编辑:PHP编程网 - 钦州站长网)

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