博客列表 >PHP基础知识:数组中常见的函数(10个)

PHP基础知识:数组中常见的函数(10个)

李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰原创
2020年05月03日 18:20:23944浏览

数组中常见的函数:

1、代码练习:

  1. <?php
  2. $arr=['one'=>11,'two'=>23,'three'=>43,'four'=>56,'five'=>33,'six'=>21,'seven'=>22,'eight'=>50];
  3. //1、 获取数组的键值函数
  4. print_r(array_keys($arr));//返回键组成的数组
  5. echo '<br>';
  6. // array_key_exists($key,$arr)返回布尔值:bool
  7. print_r(array_key_exists('three',$arr));
  8. echo '<br>';
  9. var_dump(in_array('two',$arr));
  10. echo '<br>';
  11. print_r(array_key_last($arr));
  12. echo '<br>';
  13. //2、array_rand()随机从数组中取出一个或者多个元素返回一个新数组
  14. print_r(array_rand($arr,2));
  15. echo '<br>';
  16. // 3、array_column($arr,value,key)从多维数组中取出一列元素组成新的数组(关联数组key=>value);
  17. $stu=[
  18. ['id'=>1,'name'=>'ldy','age'=>26,'sex'=>'1'],
  19. ['id'=>2,'name'=>'dlf','age'=>28,'sex'=>'0'],
  20. ['id'=>3,'name'=>'dc','age'=>20,'sex'=>'1']
  21. ];
  22. print_r(array_column($stu,'name','id'));
  23. echo '<br>';
  24. //4、array_combine($arr1,$arr2)两组数据创建一个新数组:[$arr1=>$arr2,……]
  25. echo '<hr>';
  26. $arr1=['id'=>1,'name'=>'ldy','age'=>26,'sex'=>'1'];
  27. $arr2=['id'=>2,'name'=>'dlf','age'=>28,'sex'=>'0'];
  28. $arr3=['id1'=>2,'name1'=>'dlf','age1'=>28,'sex1'=>'0'];
  29. print_r(array_combine($arr1,$arr2));//$arr1做键,$arr2做值
  30. echo '<br>';
  31. print_r(array_merge($arr1,$arr3));//合并两个数组
  32. echo '<br>';
  33. echo '拆分数组<br>';
  34. // 5、array_chunk($arr,int)把一个数组拆分成和list()
  35. printf('<pre>%s</pre>',print_r(array_chunk($arr1,2),true));
  36. list($ar1,$ar2)=array_chunk($arr2,2);
  37. printf('<pre>%s<br>%s</pre>',print_r($ar1,true),print_r($ar2,true));
  38. //6、数组差集diff和交集intersect;
  39. $arr1=[2,3,5,6,7,8];
  40. $arr2=[1,2,3,4,5,6,8];
  41. // print_r(array_intersect($arr1,$arr2));
  42. // print_r(array_intersect($arr2,$arr1));
  43. printf('<pre>%s<br>%s</pre>',print_r(array_intersect($arr1,$arr2),true),print_r(array_intersect($arr2,$arr1),true));
  44. printf('<pre>%s<br>%s</pre>',print_r(array_diff($arr1,$arr2),true),print_r(array_diff($arr2,$arr1),true));
  45. $arr1=['id'=>1,'name'=>'ldy','age'=>26,'sex'=>'1'];
  46. // 7、把关联数组差分成对象
  47. extract
  48. ($arr1);
  49. echo $id,$name,$age,'<br>';
  50. //8、 implode()和explode()
  51. $arr=['one',1,2,'two'];
  52. echo implode($arr,'*'),'<br>';
  53. print_r(explode('-',implode($arr,'*')));
  54. echo '<br> ';
  55. // 9、随机生成数组;rand();
  56. print_r(range(10,100,10));
  57. echo rand(2,10),'<br>';
  58. // 10、array_fill()用指定的内容填充数组
  59. $arr=[];
  60. print_r(array_fill(1,5,"*_*"));

2、代码练习演示结果:

总结:

1、数组值进行计算时:字符串如果以数字开头取数字部分(碰见字符结束)参与计算,字母开头的字符串当作零参与运算;
2、usort($arr,function($value1,$value2){})自定义排序:重排值并赋予新的键名
3、array_slice($arr,$start,$step,true):对索引数组,重排键;
4、array_splice($arr,$start,$step):$start和$step去负值时,包含$start但不包含$step;
5、array_column($arr,value,key)从多维数组中取出一列元素组成新的数组(关联数组key=>value);

上一条:Trait 组合与接口下一条:PHP流程控制
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议