分享

array_intersect判断多个数组是否有交集

 天下无敌小勇 2016-02-16

今天在项目中,需要判断两个数组是否有交集,第一个感觉PHP中应该有这个函数,果然:

array array_intersect(array array1,array array2[,arrayN…])

返回N个数组中的交集元素,如果是关联数组可以用array_intersect_assoc()

PHP案例如下:


  1. <?php
  2. $fruit1 = array("Apple","Banana","Orange");
  3. $fruit2 = array("Pear","Apple","Grape");
  4. $fruit3 = array("Watermelon","Orange","Apple");
  5. $intersection = array_intersect($fruit1, $fruit2, $fruit3);
  6. print_r($intersection);
  7. // 输出 Array ( [0] => Apple )
  8. ?>

我的应用如下:


  1. if($user->role != 1){
  2. $count = count($projects);
  3. for($i=0;$i<$count;$i++){
  4. if(!array_intersect(explode(',', $projects[$i]['role']), explode(',', $projects[$i]['next_approve_role']))){
  5. unset($projects[$i]);
  6. continue;
  7. }
  8. }
  9. }

上面案例将数组中没有交集的元素从数组中剔除!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多