PHP常用数组函数介绍


Posted in PHP onJuly 28, 2014

在编程中查手册是少不了的,所以要会学着使用已有的东西,就如PHP中的数组处理函数已经有排序函数了,为什么还要在写东西是费着劲去写冒泡或者堆排或者快排呢。

编程是间接的过程,也是重用的过程,要写出好的代码是少不了设计模式来做支撑的,可能对初学者来说学习设计模式有些吃力(就像我当初看设计模式时,真是有点费劲),不过等你的代码量有一定积累时,在研究设计模式时,感觉设计模式真的挺有用的,能帮助你写出漂亮的代码。说着说着有点跑偏了,还是来总结一下php中对数组操作的常用函数吧。

以下总结的数组常用的函数,可能有些读者会感觉有些少,众人拾柴火焰高吗,如果感觉还有其他常用的数组处理函数,给个评论留下呗,不要吝啬自己的知识嘛,和别人分享东西不是一件很快乐的东西吗。还有,下面的代码出自本人之手,不过是两年前写的代码了,欢迎大家批评指正。

array_splice() 删除数组中的指定元

array_splice(数组名,从前往后删的个数,new一个数组的大小);没有第三参数也就没有返数组,没有第三个参数时,第二个参数的意义为从前往后保留几个

exp:

<?php
  $my_array=array(  //建立数组
    "hehe"=>"haha",
    "A"=>"lu",
    "lu"=>"ge"
  );
  $new=array_splice($my_array,1,3);  //使用array_splice(数组名,从前往后删的个数,new一个数组的大小);
  var_dump($new);
?>

    结果:array(2) { ["A"]=> string(2) "lu" ["lu"]=> string(2) "ge" }

2、foreach()数组的遍历

    用法:foreach(数组 as 键名=>键值)或foreach(数组 as 键值)

exp:

<?php
  $my_array=array(  //建立数组
    "hehe"=>"haha",
    "A"=>"lu",
    "lu"=>"ge"
  );
  foreach($my_array as $key=>$value)
  {
    echo $key."=>".$value."<br/>";
  }
?>

输出结果:

hehe=>haha

A=>lu

lu=>ge

 

3、数组的排序

    (1)sort()和rsort()    按键值排序sort()从小到大,rsort()从大到小

            sort ()   exp :    

<?php
  $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组
  sort($my_array);
  foreach($my_array as $keys=>$value)
  {
    echo $keys."=>".$value."<br/>";
  }
?>

           输出结果:

0=>1

  1=>2
  2=>3
  3=>4
  4=>5
  5=>6
  6=>7
  7=>8
  8=>9

             rsort() exp:

<?php
  $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组
  rsort($my_array);
  foreach($my_array as $keys=>$value)
  {
    echo $keys."=>".$value."<br/>";
  }
?>

  输出结果:

0=>9
  1=>8
  2=>7
  3=>6  
  4=>5
  5=>4
  6=>3
  7=>2
  8=>1

    (2).asort()和arsort()和上面的原理一样,不过不改变键名和键值的对应关系

    exp:

<?php
  $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组
  asort($my_array);
  foreach($my_array as $keys=>$value)
  {
    echo $keys."=>".$value."<br/>";
  }
?>

输出结果:

0=>1
1=>2
2=>3
7=>4
8=>5
3=>6
4=>7
5=>8
6=>9

(3)ksort()和krsort()是按键名的大小排序

4.数组的数学类函数

array_sum()计算数组的所有键值的和  count()计算元素的个数

exp:

<?php
  $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组
  echo array_sum($my_array);
?>

    输出结果:45

5.其他函数

array_unique() 去除数组中的相同元素

in_array()检测一个值是否在数组中(返回true和false)

array_search()返回的是键或值,返回的是键值所对应的键名

shuffle()打乱原有的数组

<?php
  $my_array=array(1,2,3,6,7,8,9,4,5,5,5,5);//建立数组
  array_unique($my_array);//去除数组中的相同元素
  var_dump($my_array);
  echo "<br/>";
  echo in_array(5,$my_array);
  echo "<br/>";
  $new=array_search(6,$my_array);//返回的是键值所对应的键名
  echo $new;
?>

输出结果:

array(12) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(6) [4]=> int(7) [5]=> int(8) [6]=> int(9) [7]=> int(4) [8]=> int(5) [9]=> int(5) [10]=> int(5) [11]=> int(5) } 
1
3
PHP 相关文章推荐
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
JS中encodeURIComponent函数用php解码的代码
Mar 01 PHP
利用curl 多线程 模拟 并发的详解
Jun 14 PHP
PHP 关于访问控制的和运算符优先级介绍
Jul 08 PHP
php var_export与var_dump 输出的不同
Aug 09 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
php异步多线程swoole用法实例
Nov 14 PHP
PHP获取数组最大值下标的方法
May 12 PHP
php实现过滤字符串中的中文和数字实例
Jul 29 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
PHP调用C#开发的dll类库方法
Jul 28 #PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 #PHP
windows的文件系统机制引发的PHP路径爆破问题分析
Jul 28 #PHP
浅析PHP程序设计中的MVC编程思想
Jul 28 #PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
Jul 28 #PHP
php实现的九九乘法口诀表简洁版
Jul 28 #PHP
完美的2个php检测字符串是否是utf-8编码函数分享
Jul 28 #PHP
You might like
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
深入理解PHP内核(一)
2015/11/10 PHP
JavaScript库 开发规则
2009/01/31 Javascript
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
javascript 随机展示头像实现代码
2011/12/06 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
JS去除空格和换行的正则表达式(推荐)
2016/06/14 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
github配置使用指南
2014/11/18 Python
深入理解Javascript中的this关键字
2015/03/27 Python
Python循环语句中else的用法总结
2016/09/11 Python
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
python import 上级目录的导入
2020/11/03 Python
CSS3 calc()会计算属性详解
2018/02/27 HTML / CSS
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
为什么要用EJB
2014/04/17 面试题
中英双版中文教师求职信
2013/10/27 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
学生会任命书范本
2015/09/21 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL
vue里使用create, mounted调用方法
2022/04/26 Vue.js