频道栏目
首页 > 程序开发 > Web开发 > PHP教程 > PHP基础 > 数组 > 正文
PHP中数组元素升序、降序及重新排序的函数
2016-01-06 14:04:29           
收藏   我要投稿

PHP数组学习摘录部分懂得到最基础的PHP数组的建立和数组元素的显示。需要深进学习下PHP数组的相干把持。首先接触的就是数组元素的升序、降序的排序标题。

1,快速创立数组的函数range()

比如range()函数可以快速创立从1到9的数字数组:


$numbers=range(1,9);
echo $numbers[1];
?>

当然,应用range(9,1)则创立了9到1的数字数组。同时,range()还可以创立从a到z 的字符数组:

$numbers=range(a,z);
foreach ($numbers as $mychrs)
    echo $mychrs.' ';
?>

应用字符数组时留心大小写,比如range(A,z)和range(a,Z)是不一样的。

range()函数还具有第三个参数,该参数的作用是设定步长,比如range(1,9,3)创立的数组元素是:1、4、7

2,PHP中惯例数组的排序

一般数组中的各元素均以字符或数字表现的,所以可对数组元素进行升序排列,该功效函数为sort()。比如:
$people=array('name','***','nation','birth');
foreach ($people as $mychrs)
    echo $mychrs.' ';
sort($people);
echo '
---排序后---
';
foreach ($people as $mychrs)
    echo $mychrs.' ';
?>

升序排序后的数组元素显示为 birth name nation ***,当然,sort()函数是区分字母大小写的(字母从大到小的次序是:A…Z…a…z)
Sort()函数还具有第二参数,用来阐明升序的规矩是用来比拟数字还是字符串的。比如:
echo '---按数字升序排序---
';
$num2=array('26','3',);
sort($num2,SORT_NUMERIC);
foreach ($num2 as $mychrs)
    echo $mychrs.' ';

echo '
---按字符升序排序---
';
$num3=array('26','3');
sort($num3,SORT_STRING);
foreach ($num3 as $mychrs)
    echo $mychrs.' ';
?>
SORT_NUMERIC和SORT_STRING用来声明按数字或字符的升序排列。假如按照数字升序排列是:3,26;但假如按照字符升序排列则是:26,3了。
PHP中除了升序函数以外,还有降序或称反向排列的函数,就是rsort()函数,比如:
$num1=range(1,9);
rsort($num1);
这里实在就相当于range(9,1)
3,PHP中关联数组的排序
PHP除了支撑数字索引数组以外,还支撑相干数组。比如如下数组就是一个相干(关联)数组:
$peoples=array('xm'=>'name','xb'=>'***','mz'=>'nation','cs'=>'birth');
应用sort($peoples)默认即是按照元素定义值的升序排序,在关联数组中可应用asort()函数表现,关联数组中最重要的则是可按照要害字(如xm、xb、mz等)的升序排序,该方法是用函数ksort()函数。 
foreach ($peoples as $mychrs)
   echo $mychrs.' ';

$peoples=array('xm'=>'name','xb'=>'***','mz'=>'nation','cs'=>'birth');
foreach ($peoples as $mychrs)
    echo $mychrs.' ';

echo '
--按元素值升序排列--
';
asort($peoples);
foreach ($peoples as $mychrs)
    echo $mychrs.' ';

echo '
--按要害字升序排列--
';
ksort($peoples);
foreach ($peoples as $mychrs)
    echo $mychrs.' ';
?>

和惯例数组拥有sort()升序函数的反向排序rsort()降序函数相对应的,关联数组也有对应的降序函数:asort()函数和arsort()函数、ksort()函数和krsort()函数。

记忆:原型函数是sort(),其中a、k表现关联数组相干必需前置,反向排序应用r润饰。

4,PHP数组元素随机排序

PHP中应用shuffle()函数将数组元素进行随机的重新排序,比如:

$fer=array('cnbruce','cnrose','cnjames','cnanne');
shuffle($fer);

foreach ($fer as $mychrs)
echo $mychrs.' ';
?>

每次都会显示不同的排序组合

5,PHP数组按原次序反向排序

PHP中可应用array_reverse()函数将数组元素按原次序反向排序。比如:

$fer=array('cnbruce','cnrose','cnjames','cnanne');
foreach ($fer as $mychrs)
echo $mychrs.' ';

$fer=array_reverse($fer);
echo '
--按原次序反向--
';
foreach ($fer as $mychrs)
echo $mychrs.' ';
?>

cnbruce cnrose cnjames cnanne 
--按原次序反向--
cnanne cnjames cnrose cnbruce

留心这里的 $fer=array_reverse($fer); 在此之前的任何排序函数均只是声明引用,并没有对原有数组进行重新定义,但当我调试该函数时则需要重新定义。这是由于array_reverse()是返回原数组修正后的副本,假如不需要原有数组,可对原数组重新定义达到笼罩的目标,否则就另外定义数组保留副本,比如:$fer_bak=array_reverse($fer); 

点击复制链接 与好友分享!回本站首页
上一篇:PHP数组的定义、初始化和数组元素的显示
下一篇:php遍历循环数组实现方法
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站