欢迎来到无限飞翔,在这里,你会找到许多有趣的技术 : )

Array数组函数(二)【php】

PHP编程 lbbniu 2012℃

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

=>blue

[0]=>red

)

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

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

<?php

functionfunc_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

)

转载请注明:无限飞翔 » Array数组函数(二)【php】

喜欢 (0)or分享 (0)