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 相关文章推荐
网站当前的在线人数
Oct 09 PHP
php中变量及部分适用方法
Mar 27 PHP
php二分法在IP地址查询中的应用
Aug 12 PHP
php下删除一篇文章生成的多个静态页面
Aug 08 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
Jan 11 PHP
php防止站外远程提交表单的方法
Oct 20 PHP
PHP GD库生成图像的几个函数总结
Nov 19 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
Yii2中多表关联查询hasOne hasMany的方法
Feb 15 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
PHP实现的文件上传类与用法详解
Jul 05 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
May 11 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图片上传类带图片显示
2006/11/25 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
为你总结一些php系统类函数
2015/10/21 PHP
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
JS实现跟随鼠标闪烁转动色块的方法
2015/02/26 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
JS实现生成会变大变小的圆环实例
2015/08/05 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
[43:41]OG vs Newbee 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
详谈Pandas中iloc和loc以及ix的区别
2018/06/08 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
银行实习自我鉴定
2013/10/12 职场文书
医院总经理职责
2013/12/26 职场文书
工会主席岗位责任制
2014/02/11 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
访谈节目策划方案
2014/05/15 职场文书
中学教师暑期培训方案
2014/08/27 职场文书