2015-12-25 68 views
-1

我没有在网上找到关于此的很多资源。我有2个数组。我想删除其他阵列上不存在的所有项目。从2个阵列中删除非重复项

阵列1

array(3) { 
    [0]=> 
    string(8) "download" 
    [1]=> 
    string(4) "test" 
    [2]=> 
    string(4) "edit" 
} 

阵列2

array(3) { 
    [0]=> 
    string(8) "download" 
    [1]=> 
    string(10) "{category}" 
    [2]=> 
    string(4) "edit" 
} 

因此,最终阵列我应该得到的东西像

array(3) { 
      [0]=> 
      string(8) "download" 
      [2]=> 
      string(4) "edit" 
    } 
+1

http://php.net/array_intersect –

回答

1

可以使用和array_diff功能描述为here

$array3 = array_diff($array1, $array2) 

将所有出现在array1中不也发生在数组2

为了找到重叠的元素,你可以使用类似array_intersect功能

0

你可以用2的foreach做到这一点:

<?php 
$array1 = array("download", "test", "edit"); 
$array2 = array("download", "category", "edit"); 
$array3 = array(); 

foreach($array1 as $value){ 
    foreach($array2 as $value2){ 
     if($value === $value2){ 
      $array3[] = $value; 
      break; 
     } 
    } 
} 

print_r($array3);