php数组降序 降序详细教程

一般数组中的各元素均以字符或数字表现的,所以可对数组元素进行升序排列,该功能函数为sort(),比如:

  1. <?php
  2. $people=array('name','sex','nation','birth');
  3. foreach ($people as $mychrs)
  4.   echo $mychrs." ";
  5. sort($people);
  6. echo "<br />---排序后---<br />";
  7. foreach ($people as $mychrs)
  8.   echo $mychrs." ";
  9. ?>

升序排序后的数组元素显示为 birth name nation sex,当然,sort()函数是区分字母大小写的(字母从大到小的顺序是:a…z…a…z),sort()函数还具有第二参数,用来说明升序的规则是用来比较数字还是字符串的:

  1. <?php
  2. echo "---按数字升序排序---<br />";
  3. $num2=array('26','3',);
  4. sort($num2,sort_numeric);
  5. foreach ($num2 as $mychrs)
  6.   echo $mychrs." ";
  7. echo "<br />---按字符升序排序---<br />";
  8. $num3=array('26','3');
  9. sort($num3,sort_string);
  10. foreach ($num3 as $mychrs)
  11.   echo $mychrs." ";
  12. ?>

php中关联数组的排序:

php除了支持数字索引数组以外,还支持相关数组,比如如下数组就是一个相关(关联)数组:

$peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');

使用sort($peoples)默认即是按照元素定义值的升序排序,在关联数组中可使用asort()函数表示,关联数组中最主要的则是可按照关键字(如xm、xb、mz等)的升序排序,该方法是用函数ksort()函数.

  1. <?php
  2. $peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
  3. foreach ($peoples as $mychrs)
  4.   echo $mychrs." ";
  5. echo "<br />--按元素值升序排列--<br />";
  6. asort($peoples);
  7. foreach ($peoples as $mychrs)
  8.   echo $mychrs." ";
  9. echo "<br />--按关键字升序排列--<br />";
  10. ksort($peoples);
  11. foreach ($peoples as $mychrs)
  12.   echo $mychrs." ";
  13. ?>