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 相关文章推荐
MYSQL环境变量设置方法
Jan 15 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
PHP数据集构建JSON格式及新数组的方法
Nov 07 PHP
探讨多键值cookie(php中cookie存取数组)的详解
Jun 06 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
PHP生成网站桌面快捷方式代码分享
Oct 11 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
Oct 18 PHP
Smarty模板类内部原理实例分析
Jul 03 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 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 if 想到的些问题
2008/03/22 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
谈谈 PHP7新增功能
2015/12/16 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
jQuery表单域选择器用法分析
2015/02/10 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
单利模式及python实现方式详解
2018/03/20 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
英国婴儿及儿童产品商店:TigerParrot
2019/03/04 全球购物
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
房地产销售计划书
2014/01/10 职场文书
村优秀党员事迹材料
2014/01/15 职场文书
团日活动总结书格式
2014/05/08 职场文书
求职自我评价范文100字
2014/09/23 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
小学元宵节活动总结
2015/02/06 职场文书
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA