All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
利用Visual,C#实现任务栏通知窗口_.net资料_编程技术
Linux脚本开发数学库在PHP中的重要性_php资料_编程技术
实例了解Asp.Net的继承和多态性_[Asp.Net教程]
ASP.NET,2.0中的Web和HTML服务器控件_[Asp.Net教程]
asp.net2.0网站语法之对象标记语法
ASP.NET,2.0的Web,Part,Framework_[Asp.Net教程]
C#文件处理技术:文件的读取使用方法
动态网页技术PHP程序字符串处理函数_php资料_编程技术
利用SQL,Server发邮件_[SQL,Server教程]
ASP.NET技巧:创建不了XMLHTTP控件_.net资料_编程技术
Reading number is top 10 pictures
In 2013 hercules Arnold classic1
刘亦菲写真集1
各种囧况!玩游戏最不喜欢出现的十件事
治疗多发性骨髓瘤的特效药,一万二一支
王艳写真温柔如水1
Athena chu perspective cheongsam shine with New York
Men's and women's orgasms
2012 national geographic daily picture5
这两天,中国人民到处都可以“看海”了
西游四格漫画(五)
Download software ranking
双旗镇刀客B
网络管理员第三版
Unix video tutorial6
Tram sex maniac 2 (H) rar bag4
打鸟视频
双旗镇刀客A
中国结婚习俗实录
Such love down(擒爱记)
Professional killers2 data package
Twenty piece of palm leaf
aaa published in(发表于) 2013/12/27 19:52:24 Edit(编辑)
PHP中数组元素升序、降序及重新排序的函数_php资料_编程技术

PHP中数组元素升序、降序及重新排序的函数_php资料_编程技术

PHP中数组元素升序、降序及重新排序的函数_php资料_编程技术-你的首页-uuhomepage.com
在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','sex','nation','birth');
foreach ($people as $mychrs)
echo $mychrs." ";
sort($people);
echo "
---排序后---
";
foreach ($people as $mychrs)
echo $mychrs." ";
?>


升序排序后的数组元素显示为 birth name nation sex,当然,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'=>'sex','mz'=>'nation','cs'=>'birth');


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






$peoples=array('xm'=>'name','xb'=>'sex','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);



添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.