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

2013-04-28 05:31 阅读 839 次 评论关闭

今天在项目中,需要判断两个数组是否有交集,第一个感觉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. }

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

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:array_intersect判断多个数组是否有交集 | 猎微网

评论已关闭!