PHP中的数组处理函数实例总结


Posted in PHP onJanuary 09, 2016

本文实例总结了PHP中的数组处理函数。分享给大家供大家参考,具体如下:

<?php
 //改变数组键的大小写
 $arr1=array("a"=>"Lamp","db"=>"database","LANGUAGE"=>"PHP");
 print_r(array_change_key_case($arr1,CASE_UPPER));
 echo "<br/>";
 print_r(array_change_key_case($arr1,CASE_LOWER));
 echo "<hr><br/>";
 //将一个数组分割成多个 第三个参数设定是否保留键
 $arr2=array('a','b','c','d','e','f','g');
 print_r(array_chunk($arr2,2,true));
 echo "<br/>";
 print_r(array_chunk($arr2,2,false));
 echo "<hr><br/>";
 //array array_diff_assoc ( array $array1 , array $array2 [, array $ ... ] ) 返回一个数组,
 //该数组包括了所有在 array1 中但是不在任何其它参数数组中的值
 //键不同也算
 $arr3=array('a'=>'green','b'=>'brown','c'=>'red');
 $arr4=array('a'=>'green','yellow','red');
 print_r(array_diff_assoc($arr3,$arr4));
 echo "<hr><br/>";
 //array_diff ( array $array1 , array $array2 [, array $ ... ] )
 //返回一个数组,该数组包括了所有在 array1 中但是不在任何
 //其它参数数组中的值,键不同不算
 print_r(array_diff($arr3,$arr4));
 echo "<hr><br>";
 //array_fill ( int $start_index , int $num , mixed $value )
 //用 value参数的值将一个数组填充 num 个条目,
 //键名由 start_index 参数指定的开始。
 print_r(array_fill(-5,8,"banana"));
 echo "<hr><br/>";
 //array_flip ( array $trans )
 //返回一个反转后的 array,例如 trans 中的键名变成了值,
 //而 trans 中的值成了键名。
 $arr5=array('a'=>'1',"b"=>"2","c","d","e");
 print_r(array_flip($arr5));
 echo "<hr><br/>";
 //array_map ( callback $callback , array $arr1 [, array $... ] )
 //返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过
 //之后的单元。callback接受的参数数目应该和传递给 array_map()
 //函数的数组数目一致。 
 function cube($n){
 return $n*$n;
 }
 $arr6=array(1,2,3,4,5);
 print_r(array_map("cube",$arr6));
 echo "<hr><br/>";
 //array_merge_recursive ( array $array1 [, array $... ] )
 //将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组
 //的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,
 //则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身
 //是一个数组,本函数将按照相应的条目把它合并为另一个数组。然而,如
 //果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到
 //后面。
 $arr7=array("color"=>array("favorite"=>"red"),5);
 $arr8=array(10,array("favorite"=>"yellow","blue"));
 print_r(array_merge_recursive($arr7,$arr8));
 echo "<hr><br/>";
 //array_reduce ( array $input , callback $function [, int $initial ] 
 //将回调函数 function 迭代地作用到 input 数组中的每一个单元中,从而将数组
 //简化为单一的值。如果指定了可选参数 initial,该参数将被当成是数组中的第
 //一个值来处理,或者如果数组为空的话就作为最终返回值。如果数组为空并且没
 //有传递 initial 参数,array_reduce() 返回 NULL。
 function rsum($v,$w){
 $v+=$w;
 return $v;
 }
 function rmul($v,$w){
 $v*=$w;
 return $v;
 }
 $a=array(1,2,3,4,5);
 $x=array();
 $b=array_reduce($a,"rsum");
 $c=array_reduce($a,"rmul",10);
 $d=array_reduce($x,"rsum",1);
 echo $b."\t\t".$c."\t\t".$d."\n";
 echo "<hr><br/>";
 //array_replace ( array &$array , array &$array1 [, array &$array2 [, array &$... ]] )
 //函数使用后面数组元素的值替换第一个 array 数组的值。如果一个键存在于第一
 //个数组同时也存在于第二个数组,它的值将被第二个数组中的值替换。如果一个
 //键存在于第二个数组,但是不存在于第一个数组,则会在第一个数组中创建这个
 //元素。如果一个键仅存在于第一个数组,它将保持不变。如果传递了多个替换数
 //组,它们将被按顺序依次处理,后面的数组将覆盖之前的值。
 $base=array("orange","banana","apple","raspberry");
 $replacements=array(0=>"pineapple",4=>"cherry");
 $replacements2=array(0=>"grape");
 //print_r(array_replace($base,$replacements,$replacements2));
 //echo "<hr><br/>";
 //array_splice ( array &$input , int $offset [, int $length [, array $ replacement ]] )
 //把 input 数组中由 offset 和 length指定的单元去掉,如果提供了 replacement
 // 参数,则用 replacement数组中的单元取代。返回一个包含有被移除单元的数组
 // 。注意 input 中的数字键名不被保留。如果省略 length,则移除数组中从 
 // offset到结尾的所有部分。如果指定了 length并且为正值,则移除这么多单元
 // 。如果指定了 length并且为负值,则移除从 offset 到数组末尾倒数 length 
 // 为止中间所有的单元。小窍门:当给出了 replacement 时要移除从 offset到
 // 数组末尾所有单元时,用 count($input) 作为 length。
 $input=array("red","green","blue","yellow");
 array_splice($input,1,-1);
 print_r($input);
 echo "<hr><br/>";
 //key ( array &$array )
 //返回数组中当前单元的键名。
 $fruit=array("fruit1"=>"apple","fruit2"=>"orange","fruit3"=>"grape",
 "fruit4"=>"apple","fruit5"=>"apple");
 while($fruit_name=current($fruit)){
 if($fruit_name=='apple'){
  echo key($fruit)."<br/>";
 }
 next($fruit);
 }
 echo "<hr><br/>";
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
PHP chmod 函数与批量修改文件目录权限
May 10 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 PHP
深入PHP magic quotes的详解
Jun 17 PHP
PHP5.5和之前的版本empty函数的不同之处
Jun 13 PHP
phpExcel中文帮助手册之常用功能指南
Aug 18 PHP
php生成shtml类用法实例
Dec 09 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
CI框架常用方法小结
May 17 PHP
thinkphp验证码的实现(form、ajax实现验证)
Jul 28 PHP
smarty模板数学运算示例
Dec 11 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
Jan 08 #PHP
WordPress主题制作中自定义头部的相关PHP函数解析
Jan 08 #PHP
微信开发之网页授权获取用户信息(二)
Jan 08 #PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 #PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
Jan 08 #PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
Jan 08 #PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
Jan 08 #PHP
You might like
PHP similar_text 字符串的相似性比较函数
2010/05/26 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
2011/09/20 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
js对字符串进行编码的方法总结(推荐)
2016/11/10 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
2017/03/21 jQuery
全面解析vue中的数据双向绑定
2017/05/10 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
python开发中range()函数用法实例分析
2015/11/12 Python
Python自定义主从分布式架构实例分析
2016/09/19 Python
Python中getpass模块无回显输入源码解析
2018/01/11 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
教你打造完美的创业计划书
2014/01/06 职场文书
给交警的表扬信
2014/01/12 职场文书
国际贸易专业个人求职信格式
2014/02/02 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
高三学习决心书
2014/03/11 职场文书
安全生产大检查方案
2014/05/07 职场文书
学习之星事迹材料
2014/05/17 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
工会积极分子个人总结
2015/03/03 职场文书
详解CocosCreator消息分发机制
2021/04/16 Javascript
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers