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

Java知识点总结之Java泛型

792
来自专栏python读书笔记

python数据分析基础day4-字典字典的定义字典创建字典元素的获取字典的排序

今天说一下重要的数据类型,字典。 字典的定义 python中字典类型就是键值对的集合,其中键在一个字典中必须是唯一的,值没有这个要求。此外,值可以是数值,字符串...

2777
来自专栏大闲人柴毛毛

C++快速入门

引用变量 引用一个变量就是定义了一个变量,和原来的变量使用同一个值。引用变量将值改变,原来这个变量的值也随之改变。 它和传地址的性质一致。 /** *定义一...

2465
来自专栏青枫的专栏

java基础学习_基础语法(下)02_day06总结

============================================================================= ==...

451
来自专栏肖洒的博客

继承和多态

这里继承和多态的概念与java的概念差不多。概念还是需要多次理解才能透彻。感觉类和实例的概念还是不能深刻理解。再次复习下吧。

473
来自专栏cs

c++那些事儿5.0 模板

模板 是泛型编程的重点,在后面的STL中,模板的功能得到广泛运用。 在java中泛型,集合都有模板的身影,弄清模板可以让我们更加深入学习。 ---- 可讲的...

34512
来自专栏西安-晁州

js程序设计02——变量、作用域问题

首先,ECMAScript中的数据类型分为基本类型、引用类型,基本类型的访问操作是按值的。引用类型的值是保存在内存中的对象,操作对象时,实际上操作的是对象的引用...

1920
来自专栏Java帮帮-微信公众号-技术文章全总结

13(01)总结StringBuffer,StringBuilder,数组高级,Arrays,Integer,Character

1:StringBuffer(掌握) (1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一...

3635
来自专栏Python小屋

详解Python序列解包(4)

本文主要介绍调用函数传递参数时序列解包的用法。在定义函数时在形参前面加2个星号**表示可变长度参数,可以收集若干关键参数形式的参数传递并存放到一个字典之中。与之...

2845
来自专栏一直在跳坑然后爬坑

Kotlin之“AbstractMutableList”

打印结果分别为 prefix1:2:3:4:5:6postfix prefix1:2:3:truncatedpostfix

792

扫码关注云+社区