PHP数组操作

1.shuffle将数组打乱 <?php $my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse"); shuffle($my_array); print_r($my_array); ?> 输出:Array ( [0] => Cat [1] => Horse [2] => Dog ) 2.array_chunk(array,size,preserve_key);函数把数组分割为新的数组块,其中每个数组的单元数目由sizee 参数决定,最后一个数组的单元数目可能会少几个。 <?php $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow"); print_r(array_chunk($a,2)); ?> Array ( [0] => Array ( [0] => Cat [1] => Dog ) [1] => Array ( [0] => Horse [1] => Cow ) ) 3.array_filter(array,function);函数用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变。 <?php function myfunction($v) { if ($v==="Horse") { return true; } return false; } $a=array(0=>"Dog",1=>"Cat",2=>"Horse"); print_r(array_filter($a,"myfunction")); ?> 输出:Array ( [2] => Horse ) 4.array_slice() 函数在数组中根据条件取出一段值,并返回。注释:如果数组有字符串键,所返回的数组将保留键名。array_slice(array,offset,length,preserve); <?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse","d"=>"Bird"); print_r(array_slice($a,1,2)); ?> 输出:Array ( [b] => Cat [c] => Horse ) 5.array_rand(array,number)函数从数组中随机选出一个或多个元素,并返回。 第二个参数用来确定要选出几个元素。如果选出的元素不止一个,则返回包含随机键名的数组,否则返回该元素的键名。 <?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); print_r(array_rand($a,2)); ?> 输出:Array ( [0] => c [1] => b ) 6.array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。注释:两个参数必须有相同数目的元素。 <?php $a1=array("a","b","c","d"); $a2=array("Cat","Dog","Horse","Cow"); print_r(array_combine($a1,$a2)); ?> 输出:Array ( [a] => Cat [b] => Dog [c] => Horse [d] => Cow ) 7.array_fill(start,number,value)函数用给定的值填充数组,返回的数组有 number 个元素,值为 value。返回的数组使用数字索引,从 start 位置开始并递增。如果 number 为 0 或小于 0,就会出错。 <?php $a=array_fill(2,3,"Dog"); print_r($a); ?> 输出:Array ( [2] => Dog [3] => Dog [4] => Dog ); 8.array_map(function,array1,array2,array3...)函数返回用户自定义函数作用后的数组。回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。 <?php function myfunction($v) { if ($v==="Dog") { return "Fido"; } return $v; } $a=array("Horse","Dog","Cat"); print_r(array_map("myfunction",$a)); ?> 输出:Array ( [0] => Horse [1] => Fido [2] => Cat )

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-03-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏积累沉淀

Java HashCode详解

一、为什么要有Hash算法 Java中的集合有两类,一类是List,一类是Set。List内的元素是有序的,元素可以重复。Set元素无序,但元素不可重复。要想保...

2245
来自专栏Java技术栈

equals 和 hashCode 到底有什么联系?一文告诉你!

Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码。equals()和ha...

1143
来自专栏码生

python2 和 python3 中调用父类方法

先看第二种写法,就是 Animal 类通过 self 初始化了一个对象(实例、instance),然后让该对象调用器 init 方法。 第二种写法不难理解

4013
来自专栏女程序员的日常

Effective C++学习笔记之explicit

  explicit意思为“明确的”和“清楚的”,是C++的关键词,意在阻止隐式类型的转换;

972
来自专栏海说

17、Map接口及其常用子类(Hashtable、HashMap、WeakHashMap)

17、Map接口   Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个val...

2090
来自专栏海天一树

Java hashCode()与equals()的关联

一、Hash表数据结构介绍 请参考 哈希表详解 二、equals的内部实现 equals()的定义位于Object.class中: public boo...

3347
来自专栏木子昭的博客

Javascript实现完美继承实现javascript完美继承要考虑三个方面:

? 实现javascript完美继承要考虑三个方面: 第一步: 获取父构造函数体内的属性 解决方法: 通过 Father.call(this)实现(这里的t...

4306
来自专栏Python小屋

Python多态原理与示例演示

所谓多态(polymorphism),是指基类的同一个方法在不同派生类对象中具有不同的表现和行为。派生类继承了基类行为和属性之后,还会增加某些特定的行为和属性,...

3498
来自专栏菩提树下的杨过

java学习:OOP入门

有c#基础的程序员,学习java其实很容易上手,绝大多数语法基本相同,概念也接近 1、属性 java中没有象c#中的Property概念,只有set,get方法...

1979
来自专栏ios 技术积累

Java 多态

●消除类型之间的耦合关系 ●可替换性 ●可扩充性 ●接口性 ●灵活性 ●简化性

2282

扫码关注云+社区

领取腾讯云代金券