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

 更新时间:2011年05月29日 21:34:14   作者:   我要评论
求两个数组的交集问题可以使用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()函数适用于比较两个数组键值的交集,返回的并不只有键值,而是键值和对应的数组值。

相关文章

  • PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例

    PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例

    这篇文章主要介绍了PHP使用PDO创建MySQL数据库、表及插入多条数据操作,结合实例形式总结分析了php基于pdo的mysql数据库创建、数据表创建以及多条数据插入操作相关实现技巧,需要的朋友可以参考下
    2019-05-05
  • PHPLog php 程序调试追踪工具

    PHPLog php 程序调试追踪工具

    本文将为你介绍一个调试工具,它可以替代echo,print_r,var_dump等系统函数,还具有调用栈及参数追踪功能. 简言之,它是debug_backtrace的web版本.
    2009-09-09
  • php过滤html标记属性类用法实例

    php过滤html标记属性类用法实例

    这篇文章主要介绍了php过滤html标记属性类及其用法,包括对HTML标记元素的过滤、移除、转义等等操作,非常实用,需要的朋友可以参考下
    2014-09-09
  • php session安全问题分析

    php session安全问题分析

    攻击者通过投入很大的精力尝试获得现有用户的有效会话ID,有了会话id,他们就有可能能够在系统中拥有与此用户相同的能力.
    2011-06-06
  • php中文验证码实现方法

    php中文验证码实现方法

    这篇文章主要介绍了php中文验证码实现方法,涉及php中文字体及字符串操作的相关技巧,需要的朋友可以参考下
    2015-06-06
  • php中将一个对象保存到Session中的方法

    php中将一个对象保存到Session中的方法

    这篇文章主要介绍了php中将一个对象保存到Session中的方法,涉及php操作对象及session的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php设计模式之单例模式实例分析

    php设计模式之单例模式实例分析

    这篇文章主要介绍了php设计模式之单例模式,实例分析了单例模式的原理与相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • php google或baidu分页代码

    php google或baidu分页代码

    php实现google与baidu的分页代码,需要的朋友可以参考下。
    2009-11-11
  • PHP+Ajax 检测网络是否正常实例详解

    PHP+Ajax 检测网络是否正常实例详解

    这篇文章主要介绍了PHP+Ajax 检测网络是否正常实例详解的相关资料,这里附有实例代码,需要的朋友可以参考下
    2016-12-12
  • PHP实现AES256加密算法实例

    PHP实现AES256加密算法实例

    这篇文章主要介绍了PHP实现AES256加密算法,包括了对应的类文件及演示demo实例,并附带另一个PHP mcrypt加密实例供大家参考借鉴,需要的朋友可以参考下
    2014-09-09

最新评论