Blogger Information
Blog 18
fans 0
comment 0
visits 13379
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP基础知识数组函数学习小结
马晓宁
Original
930 people have browsed it

数组函数示例:

1.array_chunk() 函数 把数组分割为带有两个元素的数组:

  1. <?php
  2. $age=array("小马"=>"51","小红"=>"42","小张"=>"31","小王"=>"35");
  3. print_r(array_chunk($age,2,true));
  4. ?>

结果:Array ( [0] => Array ( [小马] => 51 [小红] => 42 ) [1] => Array ( [小张] => 31 [小王] => 35 ) )


2.array_diff() 函数 比较两个数组的键值,并返回差集

  1. <?php
  2. $a1=array("a"=>"小红","b"=>"小马","c"=>"小王","d"=>"小张");
  3. $a2=array("e"=>"小红","f"=>"小马","g"=>"小王");
  4. $result=array_diff($a1,$a2);
  5. print_r($result);
  6. ?>

结果:Array ( [d] => 小张 )


3.array_fill() 函数 用值填充数组

  1. <?php
  2. $a1=array_fill(1,3,"小马");
  3. print_r($a1);
  4. ?>

结果:Array ( [1] => 小马 [2] => 小马 [3] => 小马 )


4.array_keys() 函数 返回包含数组中所有键名的一个新数组。

  1. <?php
  2. $a=array("小马"=>"88","小张"=>"66","小王"=>"22");
  3. print_r(array_keys($a,"22"));
  4. ?>

结果:Array ( [0] => 小王 )


5.array_merge() 函数 把一个或多个数组合并为一个数组

  1. <?php
  2. $a1=array("a"=>"小马","b"=>"小张");
  3. $a2=array("c"=>"小红","b"=>"小王");
  4. print_r(array_merge($a1,$a2));
  5. ?>

结果:Array ( [a] => 小马 [b] => 小王 [c] => 小红 )


6.array_rand() 函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组。

  1. <?php
  2. $a=array("a"=>"小马","b"=>"小红","c"=>"小张","d"=>"小王");
  3. print_r(array_rand($a,1));
  4. ?>

结果:每次刷新结果不同,a,b,c,d的一个。


7.array_unique() 函数移除数组中的重复的值,并返回结果数组。

  1. <?php
  2. $a=array("a"=>"小马","b"=>"小张","c"=>"小马");
  3. print_r(array_unique($a));
  4. ?>

结果:Array ( [a] => 小马 [b] => 小张 )


8.array_rand() 函数从数组中随机选出一个或多个元素,并返回。

  1. <?php
  2. $a=array("小马","小张","小红","小王","小李");
  3. $random_keys=array_rand($a,3);
  4. echo $a[$random_keys[0]]."<br>";
  5. echo $a[$random_keys[1]]."<br>";
  6. echo $a[$random_keys[2]];
  7. ?>

结果:随机的三个(小马 小张 小红),每次刷新都不一样。


9.natcasesort() 函数用不区分大小写的自然顺序算法对给定数组中的元素排序。

  1. <?php
  2. $temp_name = array("zhangsan","Wangwu","lisi","Maliu","tianqi");
  3. natsort($temp_name);
  4. echo "自然排序:";
  5. print_r($temp_name);
  6. echo "<br />";
  7. natcasesort($temp_name);
  8. echo "不区分大小写的自然排序:";
  9. print_r($temp_name);
  10. ?>

结果:自然排序:Array ( [3] => Maliu [1] => Wangwu [2] => lisi [4] => tianqi [0] => zhangsan )
不区分大小写的自然排序:Array ( [2] => lisi [3] => Maliu [4] => tianqi [1] => Wangwu [0] => zhangsan )


10.uksort() 函数使用用户自定义的比较函数按照键名对数组排序,并保持索引关系。

  1. <?php
  2. function my_sort($a,$b)
  3. {
  4. if ($a==$b) return 0;
  5. return ($a<$b)?-1:1;
  6. }
  7. $arr=array("a"=>4,"b"=>2,"c"=>8,"d"=>6);
  8. uksort($arr,"my_sort");
  9. foreach($arr as $x=>$x_value)
  10. {
  11. echo "Key=" . $x . ", Value=" . $x_value;
  12. echo "<br>";
  13. }
  14. ?>

结果:
Key=a, Value=4
Key=b, Value=2
Key=c, Value=8
Key=d, Value=6


11.回调函数

11.1array_filter() 函数用回调函数过滤数组中的值。

  1. <?php
  2. $entry = array(
  3. 0 => 'xiaoma',
  4. 1 => false,
  5. 2 => -1,
  6. 3 => null,
  7. 4 => ''
  8. );
  9. print_r(array_filter($entry));
  10. ?>

结果:Array ( [0] => xiaoma [2] => -1 )


11.2array_map(): 为数组中的每个元素应用回调函数进行处理,返回新数组。

  1. <?php
  2. function myfunction($v)
  3. {
  4. return($v*$v);
  5. }
  6. $a=array(11,12,13,14,15);
  7. print_r(array_map("myfunction",$a));
  8. ?>

结果:Array ( [0] => 121 [1] => 144 [2] => 169 [3] => 196 [4] => 225 )


11.3array_reduce(): 迭代处理数组元素

  1. <?php
  2. function myfunction($v1,$v2)
  3. {
  4. return $v1 . "-" . $v2;
  5. }
  6. $a=array("草莓","苹果","香蕉");
  7. print_r(array_reduce($a,"myfunction"));
  8. ?>

结果:-草莓-苹果-香蕉


11.4array_walk(): 使用自定义回调对数组中成员逐个处理,返回布尔值

  1. <?php
  2. function myfunction($value,$key)
  3. {
  4. echo "这个键 $key 的值是 $value<br>";
  5. }
  6. $a=array("a"=>"草莓","b"=>"苹果","c"=>"香蕉");
  7. array_walk($a,"myfunction");
  8. ?>

结果:
这个键 a 的值是 草莓
这个键 b 的值是 苹果
这个键 c 的值是 香蕉


12.array_slice() 函数在数组中根据条件取出一段值,并返回。

  1. <?php
  2. $a=array("苹果","西瓜","草莓","菠萝","哈密瓜");
  3. print_r(array_slice($a,1,3));//从数组的第二个元素开始取出,并仅返回3个元素
  4. ?>

结果:Array ( [0] => 西瓜 [1] => 草莓 [2] => 菠萝 )


13.array_splice() 函数从数组中移除选定的元素,并用新元素取代它。

  1. <?php
  2. $a1=array("a"=>"苹果","b"=>"菠萝","c"=>"西瓜","d"=>"荔枝");
  3. $a2=array("a"=>"草莓","b"=>"橘子");
  4. array_splice($a1,0,2,$a2);
  5. print_r($a1);
  6. ?>

结果:Array ( [0] => 草莓 [1] => 橘子 [c] => 西瓜 [d] => 荔枝 )


总结:PHP数组是PHP必不可少的一部分,array函数也有很重要的作用,通过本次课学到了很多数组函数以及它们的使用方法。通过查询手册也看到了数组操作的基本函数、数组的分段和填充、数组与栈、数组与列队、回调函数、排序、计算、其他的数组函数等。

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:案例简单直观, 很好
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post