php中数组操作中两个很有用的函数

今天发现php中有两个数组中很好用的操作的函数,经常被忽视了, 
一个array_intersect,另外一个是array_diff, 
首先来介绍下arry_diff: 

 

1 array_diff: 
  array_diff() 函数返回两个数组的差集数组。该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。 

在返回的数组中,键名保持不变 
例子如下: 
  $a=array(1,2,3); 
$b=array(1,2,9); 

$c=array_diff($a,$b); 

var_dump($c); 
那么返回的应该是: 
array(1) { 
  [2]=> 
  int(3) 

就是返回了第一个数组有但第2个元素没有的元素。 

这样的一个好处是,假如要删除a数组中的1,2两个元素,则把上面的$b=(1,2), 
再进行array_diff就可以删除了。 

2array_intersect 
  array_intersect() 函数返回两个或多个数组的交集数组。 

结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变。 

注释:仅有值用于比较。 
例子; 
<?php 
$array1 = array( 
'a'=>'green', 
'red', 
'blue' 
); 

$array2 = array( 
'b'=>'green', 
'yellow', 
'red' 
); 

$result = array_intersect($array1, $array2); 
echo '<pre>'; 
print_r($result); 
?> 
输出: 
Array 

    [a] => green 
    [0] => red 

posted @ 2010-11-25 13:19  →province★  阅读(594)  评论(0)    收藏  举报