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

相关文章

来自专栏cloudskyme

Java编程(位运算符)

二进制运算符   由于计算机内部的数据都以二进制的形式存在,所以在Java语言中提供了直接操作二进制的运算符,这就是下面要讲解的位运算符和移位运算符。   使用...

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

04-01.总结switch,for,while,do。while跳转语句

1:switch语句(掌握) (1)格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; ...

3665
来自专栏极客慕白的成长之路

Java的算数运算符、关系运算符、逻辑运算符、位运算符

b=5,a=5 c=-5,a=5 d=3,l=3 f=3,m=4 g=3,n=3 h=6,o=5

1112
来自专栏练小习的专栏

js运算符优先级笔记

运算符的优先级决定了表达式中运算执行的先后顺序,优先级高的运算符最先被执行。 下面是一个简单的例子: 3 + 4 * 5 // 计算结果为23 乘法运算符...

2018
来自专栏向治洪

Kotlin语法基础之运算符

运算符 计算机程序中最小的程序单位成为表达式,每个表达式都可以由两部分组成,即操作数和运算符。操作数可以是变量、常量、类、数组、方法等,甚至是其他表达式。而运算...

2375
来自专栏java学习

Java的运算符

Java的运算符 运算符是一种特殊符号,用以表示数据的运算、赋值和比较等共分以下几种: 1.1括号:() [] 1.2一元运算符(只有1个操作数):!(逻...

27511
来自专栏GreenLeaves

Array对象的判定

/* 关于JS对象类型的判断,最复杂的在于RegExp和Array了,判定RegExp的情形不较少,而Array就比较多了,下面就是判断Array的...

1745
来自专栏微信公众号:Java团长

Java抽象类与接口的区别

很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。

500
来自专栏浪淘沙

Python学习总结5--有序列表list和tuple

    2. 用len()函数可以获得list元素的个数     3. 用索引来访问list中每一个位置的元素,记得索引是从0开始的 如...

673
来自专栏架构之路

Java继承类中static成员函数的重写

在java中,static成员函数是否可以被重写呢? 结论是,你可以在子类中重写一个static函数,但是这个函数并不能像正常的非static函数那样运行。 也...

2684

扫码关注云+社区