PHP数组函数还是比较常用的,于是我研究了一下PHP数组函数,在这里拿出来和大家分享一下,希望对大家有用。今天我们学习PHP数组函数,数组是一种数据类型,它的使用频率相当高,学会处理数组会让你做网站时得心应手。
#T#举个例子:你的网站数据库里存有大里的文章,现在你想在一个页面上显示20条娱乐新闻的标题,这20条标题从数据库里取出来后你想用20个变量表示吗?我想你不会这么笨吧,那么用什么变量能完全接收这20条数据呢?这就要用到数组变量。什么是数组呢?数组实际上是一个数据集合,相当于是一个数据容器,很多数据存放在里面,我们可以按一定方法存进去或取出来,还可以对它里面的数据进行排序等各种操作,还可以检查里面有没有我们想要的数据等等。
1.array_multisort()对多个数组或多维数组进行排序可以用来一次对多个数组进行排序或者根据某一维对多维数组进行排序。排序时保留原有的键名关联,实现的功能和SQL中的ORDERBY差不多。
- $ar1=array("10",100,100,"a");
- $ar2=array(1,3,"2",1);
- array_multisort($ar1,$ar2);
- ?>
- //返回结果(保持了原来数组的关联性)
- $ar1=Array([0]=>10[1]=>a[2]=>100[3]=>100)
- $ar2=Array([0]=>1[1]=>1[2]=>2[3]=>3)
- //实现学生成绩排名
- $grade=array("score"=>array(70,95,70.0,60,"70"),
- "name"=>array("ZhangSan","LiSi","WangWu",
- "ZhaoLiu","LiuQi"));
- array_multisort($grade["score"],SORT_NUMERIC,SORT_DESC,
- //将分数作为数值,由高到低排序
- $grade["name"],SORT_STRING,SORT_ASC);
- //将名字作为字符串,由小到大排序
- ?>
- //输出结果
- array(
- 'score'=>
- array(
- 0=>95,
- 1=>'70',
- 2=>70,
- 3=>70,
- 4=>60,
- ),
- 'name'=>
- array(
- 0=>'LiSi',
- 1=>'LiuQi',
- 2=>'WangWu',
- 3=>'ZhangSan',
- 4=>'ZhaoLiu',
- ),
- )
2.array_rand()和shuffle(),一个是从数组中随机的取出一个或多个值,另一个是将数组中的值的顺序打乱,然后再可以从中取出值,它们都实现从数组中随机取出数据的功能,可以用于实现诸如抽奖之类的功能。
3.array_reduce()将回调函数function迭代地作用到input数组中的每一个单元中,从而将数组简化为单一的值。如果指定了可选参数initial,该参数将被当成是数组中的***个值来处理,或者如果数组为空的话就作为最终返回值。
- <?php
- functionrsum($v,$w){
- $v+=$w;
- return$v;
- }
- functionrmul($v,$w){
- $v*=$w;
- return$v;
- }
- $a=array(1,2,3,4,5);
- $x=array();
- //实现array_sum()功能
- $b=array_reduce($a,"rsum");//115=1+2+3+4+5
- $c=array_reduce($a,"rmul",10);//11200=1*2*3*4*5*10
- $d=array_reduce($x,"rsum",1);//1
- ?>
这个函数可以实现求一个数组的和(积,差等功能)