Array数组函数(二)

array_count_values — 统计数组中所有的值出现的次数

1

arrayarray_count_values(array$input)

array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值。

<?php$phpha=array(‘hello’,‘world’,‘tianya’,‘hello’,‘world’);$phpha_result=array_count_values($phpha);print_r($phpha_result);?>//结果:Array( [hello]=>2 [world]=>2 [tianya]=>1)

array_diff — 计算数组的差集 array_diff_key — 使用键名比较计算数组的差集 array_diff_ukey — 用回调函数对键名比较计算数组的差集 array_diff_assoc — 带索引检查计算数组的差集 array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差集

//array_diff() 返回一个数组,该数组包括了所有在array1中//但是不在任何其它参数数组中的值。注意键名保留不变。<?php$array1=array(“a”=>“green”,“red”,“blue”,“red”);$array2=array(“b”=>“green”,“yellow”,“red”);$result=array_diff($array1,$array2);print_r($result);?>//结果:Array( [1]=>blue)//本函数和array_diff()相同只除了比较是根据键名而不是值来进行的。<?php$array1=array(‘blue’ =>1,‘red’ =>2,‘green’ =>3,‘purple’=>4);$array2=array(‘green’=>5,‘blue’=>6,‘yellow’=>7,‘cyan’ =>8);print_r(array_diff_key($array1,$array2));?>//结果:Array( [red]=>2 [purple]=>4)//注意和 array_diff() 不同的是键名也用于比较。 <?php$array1=array(“a”=>“green”,“b”=>“brown”,“c”=>“blue”,“red”);$array2=array(“a”=>“green”,“yellow”,“red”);print_r(array_diff_assoc($array1,$array2));?>//结果:Array( [b]=>brown [c]=>blue [0]=>red)

array_fill — 用给定的值填充数组 array_fill_keys — Fill an array with values, specifying keys

array_filter — 用回调函数过滤数组中的单元

<?phpfunctionfunc_check($i){return$i>3?TRUE:FALSE;}$array1=array(2,3,5,6);$array2=array(NULL,”,‘hello’);$array3=array_filter($array1,‘func_check’);$array4=array_filter($array2);//函数func_check()用来判断给定的值,返回TRUE或FALSE//返回TRUE,则$array1中的值则会返回且键名不变,否则被过滤掉print_r($array3);//如果没有指定回调函数,则默认过滤掉array2中为等值为FALSE的成员//进行类型转换。因此本函数常用量顾虑掉数组中的空成员。print_r($array4);?>//结果:Array( [2]=>5 [3]=>6)Array( [2]=>hello)

array_flip — 交换数组中的键和值

//如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。<?php$trans=array(“a”=>1,“b”=>1,“c”=>2);$trans=array_flip($trans);print_r($trans);?>//结果:Array( [1]=>b [2]=>c)

array_intersect — 计算数组的交集 array_intersect_assoc — 带索引检查计算数组的交集 array_intersect_uassoc — 带索引检查计算数组的交集,用回调函数比较索引 array_intersect_key — 使用键名比较计算数组的交集 array_intersect_ukey — 用回调函数比较键名来计算数组的交集

<?php$array1=array(“a”=>“green”,“red”,“blue”);$array2=array(“b”=>“green”,“yellow”,“red”);$result=array_intersect($array1,$array2);print_r($result);?>//结果:Array( [a]=>green [0]=>red)//注意array_intersect_assoc()和array_intersect()不同的是键名也用于比较。<?php$array1=array(“a”=>“green”,“b”=>“brown”,“c”=>“blue”,“red”);$array2=array(“a”=>“green”,“yellow”,“red”);$result=array_intersect_assoc($array1,$array2);print_r($result);?>//结果:Array( [a]=>green)

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

原文发表时间:2014-10-31

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP技术

Array数组函数(一)

array_change_key_case--返回字符串键名全为小写或大写的数组 array_change_key_case(array$input[,...

35514
来自专栏desperate633

LintCode 平面列表题目分析代码

给定一个列表,该列表中的每个要素要么是个列表,要么是整数。将其变成一个只包含整数的简单列表。 ** 注意事项 ** 如果给定的列表中的要素本身也是一个列表,...

542
来自专栏技术碎碎念

python3 入门 (二) 列表的使用

列表用于组织其它数值,即写在方括号之间、用逗号分隔开的数值列表。列表内的项目不必全是相同的类型。 列表的定义 1 student = ['Tom', 'Jack...

31710
来自专栏Java学习123

StringBuffer和StringBuild区别

3049
来自专栏编程之旅

数据结构——链表(C语言实现)

提起链表,我们每个人都不会陌生,不管对数据结构的掌握如何,都或多或少的听过与用过链表这样的常见的数据结构。链表是线性表的一种,最基础的线性表,在插入与删除数据时...

803
来自专栏mwangblog

C# 中的参数数组、引用参数和输出参数

733
来自专栏一“技”之长

JavaScript基础之七——JavaScript中的正则表达式

    正则表达式在前端开发中应用十分广泛,从表单验证到内容替换,正则多发挥着十分重要的作用。JavaScript中提供了专门的正则对象。

681
来自专栏desperate633

LintCode 子数组之和题目分析代码

给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置

502
来自专栏XAI

程序员必知的8大排序(java实现)

8种排序之间的关系: ?  1、 直接插入排序   (1)基本思想:   在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要...

18010
来自专栏武培轩的专栏

剑指Offer-数组中只出现一次的数字

题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 思路 思路一: 利用HashSet的元素不能重复,如果有...

3166

扫码关注云+社区