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

相关文章

来自专栏Micro_awake web

JavaScript(四):运算符&数据类型转换

+:算符的加法;连接字符串 加法会将其它类型的值,自动转为字符串,然后再进行连接运算! 1 var a=1+2; 2 console.log('first:...

1876
来自专栏用户画像

7.3.2 快速排序

快速排序是对冒泡排序的改进。其基本思想是基于分治法:在待排序L[1...n]中任取一个元素privot作为基准,通过一趟排序将待排序表划分为独立的两部分L[1....

543
来自专栏架构之路

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

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

2644
来自专栏hbbliyong

Oracle字符串函数

Oracle字符串函数 平常我们用Oracle主要有两种字符串类型 1.char始终为固定的长度,如果设置了长度小于char列的值,则Oracle会自动用空格填...

3726
来自专栏Java技术栈

Java中创建String的两道面试题及详解

我们知道创建一个String类型的变量一般有以下两种方法: String str1 = "abcd"; String str2 = new String("ab...

3386
来自专栏PHP在线

Array数组函数(三)

array_keys — 返回数组中所有的键名 array_values — 返回数组中所有的值 array_key_exists — 检查给定的键名或索引是否...

3288
来自专栏java学习

Java的运算符

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

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

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

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

中缀表达式值

中缀表达式值(Expr.cpp) 【问题描述】        输入一个中缀表达式(由0-9组成的运算数、加+减—乘*除/四种运算符、左右小括号组成。注意“—”...

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

归并排序

将两个或两个以上有序的数列(或有序表),合并成一个仍然有序的数列(有序表),这种操作称为归并操作。这样的方法经常用于多个有序的数据文件归并成一个有序的数据文件。...

2706

扫码关注云+社区