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 相关文章推荐
使用 eAccelerator加速PHP代码的目的
Mar 16 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
Dec 19 PHP
php通过COM类调用组件的实现代码
Jan 11 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
Jun 13 PHP
php简单实现发送带附件的邮件
Jun 10 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
PHP带节点操作的无限分类实现方法详解
Nov 09 PHP
safari下载文件自动加了html后缀问题
Nov 09 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
Jan 10 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 13 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
PHP EOT定界符的使用详解
2008/09/30 PHP
smarty基础之拼接字符串的详解
2013/06/18 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
JavaScript 事件的一些重要说明
2009/10/25 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
详解a++和++a的区别
2017/08/30 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
python实现自动打卡的示例代码
2020/10/10 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
大学生毕业自荐信
2013/10/10 职场文书
快递员岗位职责
2014/09/12 职场文书
会计求职简历自我评价
2015/03/10 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
一文搞懂Java中的注解和反射
2022/06/21 Java/Android