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 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

1470 数列处理

个人博客:doubleq.win 1470 数列处理  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 青铜 Bronze 题解 题目描述 D...

2605
来自专栏无所事事者爱嘲笑

js小题目(持续更新)

1464
来自专栏程序员互动联盟

【java基础】Java extends用法详解

理解继承是理解面向对象程序设计的关键。在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Ja...

3498
来自专栏海天一树

小朋友学数据结构(6):折半查找法

假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键...

631
来自专栏牛肉圆粉不加葱

(1) - Range

在上一小节的很多例子中,都用 by 指定了自定义步长,所有的类型都支持指定自定义步长。但并不是所有的类型都有默认步长,只有以下类型具有默认步长:

581
来自专栏PPV课数据科学社区

【学习】8大排序算法图文讲解

? 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存...

3946
来自专栏企鹅号快讯

SQL笔记

表达式:表达式的定义非常简单 表达式可以返回一个值 表达式的类型非常广泛 它以包括各种 类型的数据如数字字符以逻辑型等其实在下列子句 如 SELECT 和 FR...

1816
来自专栏互联网杂技

Java中的 toString 方法

1. Object 类中定义有 public String toString() 方法,其返回值是 String 类型,描述当前对象的有关信息;

823
来自专栏数据结构与算法

洛谷P1143 进制转换

题目描述 请你编一程序实现两种不同进制之间的数据转换。 输入输出格式 输入格式: 输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16)...

3366
来自专栏雪胖纸的玩蛇日常

vue学习(1)

箭头函数的两个坑:1.this的指向发生了改变,指向定义对象时的对象window。2.arguments不能使用。

761

扫描关注云+社区