如何从数组中排除某些元素

时间:2018-01-23 11:25:14

标签: php arrays

我有一个域数组,我想回应那个数组而没有其中一些而没有 array_diff。这可能吗?

例如,我有这个:

$all_domains_array = array('domain.com', 'domain2.com', 'domain3.com', 'domain4.com');

$domains_2_exclude_array = array('domain3.com', 'domain4.com');

我需要回显数组$all_domains_array中的所有域,而不需要数组$domains_2_exclude_array中的域

5 个答案:

答案 0 :(得分:4)

只需使用array_diff功能

即可
$all_domains_array = array('domain.com', 'domain2.com', 'domain3.com', 'domain4.com');
$domains_2_exclude_array = array('domain3.com', 'domain4.com');
$finalArray = array_diff($all_domains_array, $domains_2_exclude_array);

答案 1 :(得分:3)

for($i=0,$count = count($all_domains_array);$i<$count;$i++) {
  if (!in_array($all_domains_array[$i],$domains_2_exclude_array))
    echo $all_domains_array[$i];
}

答案 2 :(得分:2)

您可以使用array_diff()函数。请参阅以下代码,它可能对您有所帮助

$all_domains_array = array('domain.com', 'domain2.com', 'domain3.com', 'domain4.com');

 $domains_2_exclude_array = array('domain3.com', 'domain4.com');
 $ss= array_diff($all_domains_array,$domains_2_exclude_array);
 print_r($ss);

答案 3 :(得分:2)

$all_domains_array = array('domain.com', 'domain2.com', 'domain3.com', 'domain4.com');
$domains_2_exclude_array = array('domain3.com', 'domain4.com');
$remain_array = array_diff($all_domains_array, $domains_2_exclude_array);
echo '<pre>';
print_r($remain_array); 
exit();

答案 4 :(得分:2)

您可以通过在PHP中使用数组函数来完成此操作 和array_diff()

示例:

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff($a1,$a2);

输出:

Array ( [d] => yellow )

在你的情况下,只需这样做:

$result = array_diff($all_domains_array,$domains_2_exclude_array)