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 变量未定义等错误的解决方法
Jan 12 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
PHP 登录完成后如何跳转上一访问页面
Jan 14 PHP
PHP图形操作之Jpgraph学习笔记
Dec 25 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
Yii全局函数用法示例
Jan 22 PHP
基于swoole实现多人聊天室
Jun 14 PHP
php+ajax实现商品对比功能示例
Apr 13 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 PHP
php实现映射操作实例详解
Oct 02 PHP
laravel 5.3 单用户登录简单实现方法
Oct 14 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
PHPCMS的使用小结
2010/09/20 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
2015/05/06 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
ionic中的$ionicPlatform.ready事件中的通用设置
2017/06/11 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
python使用递归解决全排列数字示例
2014/02/11 Python
python获取局域网占带宽最大3个ip的方法
2015/07/09 Python
Python表示矩阵的方法分析
2017/05/26 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
2014婚礼司仪主持词
2014/03/14 职场文书
《长征》教学反思
2014/04/27 职场文书
工作推荐信范文
2014/05/10 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
超强台风观后感
2015/06/09 职场文书
浅谈JS的二进制家族
2021/05/09 Javascript