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创建动态图像
Oct 09 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
PHP实现手机归属地查询API接口实现代码
Aug 27 PHP
强制PHP命令行脚本单进程运行的方法
Apr 15 PHP
php+mysqli使用预处理技术进行数据库查询的方法
Jan 28 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
php集成动态口令认证
Jul 21 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
Oct 23 PHP
PHP笛卡尔积实现算法示例
Jul 30 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
Apr 26 PHP
PHP实现本地图片转base64格式并上传
May 29 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
模拟xcopy的函数
2006/10/09 PHP
PHP 存储文本换行实现方法
2010/01/05 PHP
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
JavaScript中的排序算法代码
2011/02/22 Javascript
js兼容的placeholder属性详解
2013/08/18 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
js时间戳转为日期格式的方法
2015/12/28 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
2016/05/25 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
Vue.js每天必学之构造器与生命周期
2016/09/05 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
2019/05/10 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
python能自学吗
2020/06/18 Python
python向企业微信发送文字和图片消息的示例
2020/09/28 Python
Python编写万花尺图案实例
2021/01/03 Python
德国电子商城:ComputerUniverse
2017/04/21 全球购物
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
护士实习鉴定范文
2013/12/22 职场文书
大学生收银员求职信分享
2014/01/02 职场文书
小学教师管理制度
2014/01/18 职场文书
退休感言
2014/01/28 职场文书
高中生评语大全
2014/04/25 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
优质护理服务心得体会
2016/01/22 职场文书
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis