PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题

2015-01-24信息快讯网

求两个数组的交集问题可以使用array_intersect(),array_inersect_assoc,array_intersect_key来实现,其中array_intersect()函数是求两个数的交集

返回一个交集共有元素的数组(只是数组值得比较)、array_intersect_assoc()函数是将键值和值绑定,一起比较交集部分、array_intersect_key()函数是将两个数组的键值进行比较,返回键值交集的数组。
但实际应用中也遇到了一些小问题,正如下:
  实例:
 
<?PHP 
$array = array("red"=>"Red","green"=>"red4","Red15"=>"Red",7=>"Level","Width"=>"Red","azzzz1"=>"art","peak"=>158); 
$array1 = array("red"=>"Red2","greena"=>"red","Red15"=>"Red",7=>"Level","Width"=>"Red","azzzz"=>"art","peak"=>158); 
$num = array_intersect($array,$array1); 
print_r ($num); 
echo "<br />"; 
$num = array_intersect_assoc($array,$array1); 
print_r($num); 
echo "<br />"; 
$num = array_intersect_key($array,$array1); 
print_r ($num); 
?> 

 运行结果:
 
Array ( [red] => Red [Red15] => Red [7] => Level [Width] => Red [azzzz1] => art [peak] => 158 ) 
Array ( [Red15] => Red [7] => Level [Width] => Red [peak] => 158 ) 
Array ( [red] => Red [Red15] => Red [7] => Level [Width] => Red [peak] => 158 ) 

总结:
    1.array_intersect()函数进行的比较只有数组值的比较,而且存在如”Red“和”Red2“比较时会返回"Red",反之则不会返回"Red2";
    2.array_intersect_assoc()函数是将数组的值与键值一起比较,而且不会存在array_intersect的情况,适用于较严格的比较;
    3.array_intersect_key()函数适用于比较两个数组键值的交集,返回的并不只有键值,而是键值和对应的数组值。
ThinkPHP3.0略缩图不能保存到子目录的解决方法
ThinkPHP关联模型操作实例分析
Linux下CoreSeek及PHP扩展模块的安装
Thinkphp模板中使用自定义函数的方法
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
PHP输入流php://input介绍
巧用php中的array_filter()函数去掉多维空值的代码分享
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
php 调试利器debug_print_backtrace()
PHP sprintf() 函数的应用(定义和用法)
php的array_multisort()使用方法介绍
php array的学习笔记
PHP中将字符串转化为整数(int) intval() printf() 性能测试
MySQL时间字段究竟使用INT还是DateTime的说明
php中echo()和print()、require()和include()等易混淆函数的区别
PHP之数组学习
php连接数据库代码应用分析
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error
PHP sprintf()函数用例解析
php join函数应用
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
php中神奇的fastcgi_finish_request
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
在smarty模板中使用PHP函数的方法
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
php 数组排序 array_multisort与uasort的区别
php expects parameter 1 to be resource, array given 错误
array_multisort实现PHP多维数组排序示例讲解
php关于array_multisort多维数组排序的使用说明
php array_unique之后json_encode需要注意
php数据入库前清理 注意php intval与mysql的int取值范围不同
php printf输出格式使用说明
PHP中的integer类型使用分析
©2014-2024 dbsqp.com