PHP数组函数还是比较常用的,于是我研究了一下PHP数组函数,在这里拿出来和大家分享一下,希望对大家有用。今天我们学习PHP数组函数,数 组是一种数据类型,它的使用频率相当高,学会处理数组会让你做网站时得心应手。
举个例子:你的网站数据库里存有大里的文章,现在你想在一个页面上显示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
- ?>