Blogger Information
Blog 28
fans 0
comment 0
visits 21991
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数组函数练习
暝皑祯π_π
Original
680 people have browsed it

数组函数

  1. <?php
  2. // 检查指定的键名是否存在于数组中
  3. // array_key_exists('键名','数组')
  4. $a=array('Volvo'=>'XC90','BMW'=>'X5');
  5. if (array_key_exists('Volvo',$a)):
  6. echo '键存在!';
  7. else:
  8. echo '键不存在!';
  9. endif;
  10. // 搜索数组中给定的值并返回键名
  11. // array_search('查找的值','搜索的数组')
  12. $a=array('a'=>'red','b'=>'green','c'=>'blue');
  13. echo array_search('red',$a);
  14. // 比较两个数组的键值,并返回交集
  15. // array_intersect('数组1','数组2')
  16. $a1=array('a'=>'red','b'=>'green','c'=>'blue','d'=>'yellow');
  17. $a2=array('e'=>'red','f'=>'green','g'=>'blue');
  18. $result=array_intersect($a1,$a2);
  19. print_r($result);
  20. // 比较两个数组的键名和键值,并返回交集
  21. $a1=array('a'=>'red','b'=>'green','c'=>'blue','d'=>'yellow');
  22. $a2=array('a'=>'red','b'=>'green','c'=>'blue');
  23. $result=array_intersect_assoc($a1,$a2);
  24. print_r($result);
  25. echo '<hr>';
  26. // list — 把数组中的值赋给一组变量
  27. // list('数组')
  28. $rep = ['red','green','blue'];
  29. list($a,$b,$c) = $rep;
  30. echo $a . $b . $c;
  31. echo '<hr>';
  32. // compact()将一组变量名值对拼装成一个惯量数组键值对
  33. // compact('变量1','变量2','变量3',....)
  34. $firstname = 'Bill';
  35. $lastname = 'Gates';
  36. $age = '60';
  37. $result = compact('firstname', 'lastname', 'age');
  38. print_r($result);
  39. echo '<hr>';
  40. // array_fill()用给定的值填充数组
  41. // array_fill('数组的第一个索引','元素个数','填充数组所使用的值')
  42. print_r(array_fill(0,4,'a'));
  43. echo '<hr>';
  44. // array_fill_keys():使用指定的键和值填充数组
  45. $keys=['a','b','c','d'];
  46. $values = ['red','green','blue'];
  47. // $values为数组时返回的时一个二位数组
  48. $a1=array_fill_keys($keys,$values);
  49. print_r($a1);
  50. echo '<hr>';
  51. // array_pad()用值将数组填补到指定长度
  52. // array_pad('数组','元素的长度','插入的长度')
  53. $a=array('red','green');
  54. print_r(array_pad($a,5,'blue'));
  55. // 负数表示从数组的左边开始插入数据
  56. print_r(array_pad($a,-5,'blue'));
  57. echo '<hr>';
  58. echo '<hr>';

回调函数

  1. // array_filter()用回调函数过滤数组中的单元
  2. // array_filter('变量','匿名函数')
  3. // 依次将$pdm数组中的每个值传递到匿名函数。如果函数返回 true,则$pdm数组的当前值会被包含在返回的结果数组中。数组的键名保留不变
  4. $pdm = ['a'=>'red','b'=>'green','c'=>'blue','f' => 'NULL', 'd'=>'yellow' ,'e'=>'0'];
  5. print_r(array_filter($pdm , function($item){
  6. // 当$item==='0'为真时,返回数组的键值
  7. return $item ==='0';
  8. }));
  9. echo '<hr>';
  10. // array_map(): 为数组的每个元素应用回调函数
  11. // array_map('匿名函数','变量')
  12. // 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组
  13. // 可以使用多个数组
  14. $ku = ['a'=>'12', 'b'=>'老师','c'=>'学生'];
  15. print_r(array_map(function($n)
  16. {
  17. if($n ==='12'){
  18. return '888';
  19. }else{
  20. return $n;
  21. }
  22. },$ku));
  23. echo '<hr>';
  24. // array_walk() 使用用户自定义函数对数组中的每个元素做回调处理
  25. // array_walk('输入的数组','匿名函数','可选第三个参数')
  26. // 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数
  27. $a=array("a"=>"red","b"=>"green","c"=>"blue");
  28. array_walk($a,function($value,$key,$p)
  29. {
  30. echo "$key $p $value<br>";
  31. },"has the value");
  32. echo '<hr>';
  33. // array_reduce() 函数用回调函数迭代地将数组简化为单一的值
  34. // array_reduce('输入的数组','匿名函数','可选第三个函数')
  35. // 如果指定第三个参数,则该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值
  36. $num = [1,2,3,4];
  37. print_r(array_reduce($num,function($a,$b)
  38. {
  39. return $a + $b;
  40. }));
  41. echo '<hr>';

array_slicearray_splice

  1. // array_slice() 从数组中取出一部分
  2. // array_slice('输入的数组','取值的起始位置','取值的终点位置','布尔值')
  3. // 取值位置为负数代表取值方向,正数从左边开始,负数从右边开始
  4. // 终点位置为负数代表这个位置左边的一个取值区域
  5. // 布尔值改变索引方式
  6. $lan =[1,2,3,4,'red','green','blue'];
  7. print_r(array_slice($lan,2,2,'turn'));
  8. echo '<hr>';
  9. // array_splice()删除数组中的某一部分并用其它值取代
  10. // array_splice('输入的数组','取值的起点','取值的终点','替换的值,多个值用数组')
  11. // 返回值是被删除的数据
  12. $lan =[1,2,3,4,'red','green','blue'];
  13. print_r(array_splice($lan,2,3,['yello','black','witch']));
  14. // 打印的是修改后的内容
  15. print_r($lan);

总结

回调函数:把一个匿名函数当成一个函数的参数来使用

队列: 先进先出, 最先插入的数据最先出来, FIFO, 添
加与删除允许在二端进行

栈: 后进先出, 最后进入的最先出来, LIFO, 添加与
删除受限,只允许在一端进行

参数的负数;影响到取值的起始位置和取值方向还有取值区域

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