1、list()

  list() 和 array() 一样,不是一个函数,而是一个语言结构,作用是为一组变量赋值。

   PHP手册中的介绍

    

  使用详情 

  1. <?php
  2.  
  3. //假设现在想为$a $b $c三个变量赋值,采用info数组中的内容
  4.  
  5. $info = ['this is a','this is b','this is c'];
  6. list($a,$b,$c) = $info;
  7.  
  8. print<<<EOT
  9. $a
  10. <br>
  11. $b
  12. <br>
  13. $c
  14. <br>
  15. EOT;

  运行结果

  

2、each()  

  

  1. //实例代码 遍历$arr
  2. <?php
  3. $arr = ['a'=>'this is a','b'=>'this is b','c'=>'this is c'];
  4.  
  5. while($tmp = each($arr))
  6. {
  7. echo $tmp['key'].':'.$tmp['value'].'<br>';
  8. }

  运行结果:

  

3、数组指针操作

  • current()
  • key()
  • next()
  • prev()
  • end()
  • reset()
  1. <?php
  2. /*
  3. 1 current(); //读取指针位置的内容
  4. 2 key(); //读取当前指针指向内容的索引值
  5. 3 next(); //将数组中的内部指针指向下一单元
  6. 4 prev(); //将数组内部指针倒回一位
  7. 5 end(); //将数组内部指针指向最后一个元素
  8. 6 reset(); //将目前指针指向第一个索引位置
  9. */
  10.  
  11. $info = [
  12. 'a' => 'this is a',
  13. 'b' => 'this is b',
  14. 'c' => 'this is c',
  15. 'd' => 'this is d'
  16. ];
  17.  
  18. echo key($info).':'.current($info).'<br>';
  19.  
  20. next($info);
  21. echo key($info).':'.current($info).'<br>';
  22.  
  23. end($info);
  24. echo key($info).':'.current($info).'<br>';
  25.  
  26. reset($info);
  27. echo key($info).':'.current($info).'<br>';

  运行结果:

  

4、键值操作函数

  1. <?php
  2.  
  3. $info = [
  4. 'a' => 'apple',
  5. 'b' => 'blog',
  6. 'c' => 'cat',
  7. 'd' => 'dog'
  8. ];
  9.  
  10. echo 'keys:<br>';
  11. //输出info数组的所有键
  12. var_dump(array_keys($info));
  13. echo '<br>';
  14. echo 'values:<br>';
  15. //输出info数组的所有值
  16. var_dump(array_values($info));
  17. echo '<br>';
  18.  
  19. //转换info数组 键值互换
  20. echo 'flips:<br>';
  21. var_dump(array_flip($info));
  22. echo '<br>';
  23.  
  24. //搜索apple
  25. echo 'search:<br>';
  26. echo 'apple key is :'.array_search('apple',$info);
  27. echo '<br>';
  28.  
  29. //元素翻转
  30. echo 'reverse:<br>';
  31. var_dump(array_reverse($info));
  32. echo '<br>';
  33.  
  34. //检查元素
  35. echo 'in?<br>';
  36. echo 'blog is in $info? '.var_dump(in_array('blog',$info));
  37. echo '<br>';
  38.  
  39. //检查键
  40. echo 'key in?<br>';
  41. echo 'b is in $info? '.var_dump(array_key_exists('b',$info));
  42. echo '<br>';
  43.  
  44. //统计值的出现次数
  45. $info[] = 'blog';
  46. $info[] = 'blog';
  47. echo 'value count<br>';
  48. var_dump(array_count_values($info));
  49. echo '<br>';
  50.  
  51. //删除重复的值
  52. echo 'before unique<br>';
  53. var_dump($info);
  54. echo '<br>after unique<br>';
  55. var_dump(array_unique($info));

  运行结果:

 5、回调函数

  示例数组:

  1. $info = [
  2. 'a' => 'apple',
  3. 'b' => 'blog',
  4. 'c' => 'cat',
  5. 'd' => 'dog'
  6. ];

  array_filter();

  PHP手册参考:

  

  1. //array_filter();
  2.  
  3. //不使用flag
  4. $filter_arr = array_filter($info,function($value){
  5. return strlen($value) == 3;
  6. });
  7. var_dump($filter_arr);
  8. echo '<br>';
  9. //使用flag
  10. $filter_arr = array_filter($info,function($key){
  11. return in_array($key,['a','c']);
  12. },ARRAY_FILTER_USE_KEY);
  13. var_dump($filter_arr);
  14. echo '<br>';
  15.  
  16. $filter_arr = array_filter($info,function($value,$key){
  17. return in_array($key,['a','c']) && $value == 'apple';
  18. },ARRAY_FILTER_USE_BOTH);
  19. var_dump($filter_arr);
  20. echo '<br>';

  输出结果:

  array_walk();

  PHP手册参考:

  

  1. //array_walk();
  2.  
  3. //不使用 userdata
  4. array_walk($info,function($value,$key){
  5. echo "$key:$value ";
  6. });
  7. echo "<br>";
  8.  
  9. //使用 userdata
  10. array_walk($info,function(&$value,$key,$userdata){
  11. $value = $userdata.'-'.$value;
  12. },'php');
  13. var_dump($info);
  14. echo "<br>";

  输出结果:

  array_map();

  PHP手册参考:

  

  1. //array_map();
  2. //单个数组
  3. array_map(function($n){
  4. echo "$n ";
  5. },$info);
  6. echo "<br>";
  7. //多个数组
  8. $info_2 = [
  9. 'e' => 'egg',
  10. 'f' => 'filco',
  11. 'g' => 'good'
  12. ];
  13. array_map(function($n1,$n2){
  14. echo "1:$n1-2:$n2 ";
  15. },$info,$info_2);
  16. echo '<br>';

  运行结果:

  

 6、数组分割

  array_slice()

  PHP手册参考

  

  array_splice()

  PHP手册参考:

  

  array_chunk()

  PHP手册:

  

  

  测试代码:

  1. <?php
  2. $info = [
  3. 'a' => 'apple',
  4. 'b' => 'blog',
  5. 'c' => 'cat',
  6. 'd' => 'dog'
  7. ];
  8.  
  9. //array_slice()
  10. echo 'array_slice:<br>';
  11. print_r(array_slice($info,0,3));
  12. echo '<br><hr>';
  13.  
  14. //array_splice();
  15. echo 'array_splice:<br>';
  16. echo '原数组:<br>';
  17. print_r($info);
  18. echo '<br>';
  19. //替换掉前两位
  20. $tmp = array_splice($info,0,2,['king','queen']);
  21. echo '替换后的数组:<br>';
  22. print_r($info);
  23. echo '<br>';
  24. echo '替换掉数组:<br>';
  25. print_r($tmp);
  26. echo '<br><hr>';
  27.  
  28. //恢复原数组
  29. $info = [
  30. 'a' => 'apple',
  31. 'b' => 'blog',
  32. 'c' => 'cat',
  33. 'd' => 'dog'
  34. ];
  35. //array_chunk();
  36. echo 'array_splice:<br>';
  37. echo '替换后的数组:<br>';
  38. $tmp = array_chunk($info,2);
  39. var_dump($tmp);

  运行结果:

7、数组运算

  测试代码:

  

  1. <?php
  2. $info = [
  3. 'a' => 'apple',
  4. 'b' => 'blog',
  5. 'c' => 'cat',
  6. 'd' => 'dog'
  7. ];
  8.  
  9. $info_2 = [
  10. 'e' => 'apple',
  11. 'f' => 'egg',
  12. 'g' => 'java',
  13. 'h' => 'cat'
  14. ];
  15.  
  16. $info_num = [120,10,1];
  17.  
  18. //array_sum
  19. echo 'array_sum:<br>';
  20. echo array_sum($info_num);
  21. echo '<br>';
  22. echo array_sum($info); //只对元素中的数值进行求和
  23. echo '<br><hr>';
  24.  
  25. //array_merge
  26. echo 'array_merge:<br>';
  27. print_r(array_merge($info,$info_2,$info_num));
  28. echo '<br><hr>';
  29.  
  30. //array_diff - 返回在info中但不在其他arr中的值
  31. echo 'array_diff:<br>';
  32. print_r(array_diff($info,$info_2));
  33. echo '<br><hr>';
  34.  
  35. //array_intersect - 返回在info中也在在其他arr中的值
  36. echo 'array_intersect:<br>';
  37. print_r(array_intersect($info,$info_2));
  38. echo '<br><hr>';

  运行结果:

8、数组的栈和队列操作

9、数组的排序操作

10、其他常用函数 

PHP常用函数(一):数组常用函数的更多相关文章

  1. PHP中的数组(二)常用数组处理函数

    数组的相关处理函数    一.数组键/值操作有关的函数        1.array_values()   无论是关联的还是索引的返回的都是索引数组 <?php $lamp=array(&quo ...

  2. PHP数组处理函数的使用array_map(三)

    /*函数array_map()函数:多数组回调函数---将回调函数作用到给定数组的单元上 * 1.语法:array array_map ( callback callback, array arr1 ...

  3. C/C++ 一段代码区分数组指针|指针数组|函数指针|函数指针数组

    #include<stdio.h> #include<stdlib.h> #include<windows.h> /* 举列子说明什么是函数指针 */ //以一个加 ...

  4. JavaSE语法基础(3)---函数、数组

    JavaSE语法基础(3)---函数.数组 函数的概念:实现特定功能的一段代码,可反复使用. 函数的出现减少代码冗余,提高代码的复用性,可读性,可维护性,可以使每个功能模块独立起来,方便分工合作. 函 ...

  5. php数组键值操作和数组统计函数-函数

    1.数组函数//作用:提供了很多官方写的很多有用的代码段,提高编写速度 1)数组的键值操作函数 array_values();//获取数组中的值 array_keys();//获取数组中的键 in_a ...

  6. JS数组常用函数以及查找数组中是否有重复元素的三种常用方法

    阅读目录: DS01:常用的查找数组中是否有重复元素的三种方法 DS02:常用的JS函数集锦 DS01.常用的查找数组中是否有重复元素的三种方法  1. var ary = new Array(&qu ...

  7. 【PHP】最详细PHP从入门到精通(三)——PHP中的数组常用函数汇总

     PHP从入门到精通 之PHP中的数组常用函数详解 数组作为PHP中最常用的结构之一,PHP强大的数组函数功能,给数组的相关操作带来了极大的便利.今天给大家介绍的PHP中数组函数,是PHP数组中重要的 ...

  8. php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】

    本文实例总结了php常用数组array函数.分享给大家供大家参考,具体如下: array_combine 功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值 案例: <?php ...

  9. python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)

    昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...

随机推荐

  1. 关于sqlserver数据库max()方法的使用

    1.传送门:http://www.codesky.net/article/201009/144935.html 2.copy自传送门里的内容: max(字符串内容): 说明对字符型数据的最大值,是按照 ...

  2. Rhino学习教程——1.2

    实战——创建个性化工具栏: 因为我们的制图习惯不同,所以可以吧自己常用的工具放在一起.我上次说的自定义界面就是这个和调整工具栏位置. 1.打开常用>设置 2.选择工具列>编辑>新增工 ...

  3. python学习------面向对象进阶

    一 isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object) ...

  4. 'weinre' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 解决方案

    使用 npm install -g weinre 全局安装 weinre,weinre 安装目录是:C:\Users\Administrator\AppData\Roaming\npm 需要配置环境变 ...

  5. grep用法

    正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.awk .sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大:在以前上班 ...

  6. 用反射的形式将一个对象属性值赋值给另一个对象,省略点get/set方法的冗余代码

    1.本例使用的是idea 首先需要在idea中安装lombok插件,省略getter和setter方法的书写 在maven项目中加入lombok依赖 <dependency> <gr ...

  7. MarkdownPan2 简单使用指南

    markdown 简单使用指南 一级标题 二级标题 三级标题加代码 四级标题 这里是加粗 这里是正文and English 888 这里有正文嵌入代码这种样式 这里是代码块 这种使用的代码块 还有引用 ...

  8. VMware 物理机可以复制文件到虚拟机,却无法从虚拟机复制文件到物理机(已解决)

    物理机运行,输入gpedit.msc确定,把如图的那个改成“已禁用” 之后虚拟机重新安装VMware Tool重启即可 事情是这样的,每次打开IDM会 “警告:您在以管理员身份运行IDM,在该模式下, ...

  9. [py]Win10下的pip/pip3 install 导致utf-8编码问题的解决方案

    置顶感谢:http://blog.csdn.net/qq_33530388/article/details/68933201 今天安装时遇到了windows下棘手的问题 UnicodeDecodeEr ...

  10. shell中特殊位置参数变量

    shell中特殊位置参数变量:$0.$n.$#.$*.$@ $0:获取当前执行shell脚本文件名,如果执行脚本包含路径,那么就包括脚本路径 $n:获取当前执行shell脚本的第n个参数值.n=1.. ...