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.MVC的模板标签系统(一)
Sep 05 PHP
分享一个PHP数据流应用的简单例子
Jun 01 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
浅谈PHP中的
Apr 23 PHP
PHP获取当前执行php文件名的代码
Mar 02 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
PHP基于递归实现的约瑟夫环算法示例
Aug 27 PHP
PHP环形链表实现方法示例
Sep 15 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
PHP+Ajax实现的检测用户名功能简单示例
Feb 12 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 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与SQL注入攻击[三]
2007/04/17 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
PHP session 会话处理函数
2016/06/06 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
2014/09/02 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
2015/08/22 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
ES6之模版字符串的具体使用
2018/05/17 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
Python set集合类型操作总结
2014/11/07 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
python自动裁剪图像代码分享
2017/11/25 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
Python爬虫小例子——爬取51job发布的工作职位
2020/07/10 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
大门门卫岗位职责
2013/11/30 职场文书
献爱心活动总结
2014/05/07 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
vue里使用create, mounted调用方法
2022/04/26 Vue.js