首页 > 解决方案 > php tow爆炸和比较

问题描述

我想要做的是从两个字符串中提取重复。

我给你看例子。

$var_1 = blue, yellow, red, purple, black 
$var_2 = blue red, green, black

我最初做的是爆炸

$var1 = explode(",", $var_1);
$var2 = explode(",", $var_2);

我计算元素来做一个

$nr1 = count($var2);
$nr2 = count($var2);
 
for($x = 0; $x < $nr1; $x++){
  for($y = 0; $y < $nr2; $y++){
    if (strcmp($var1[$x], $var2[$y]) !== 0) {
      echo ($var1[$x] == $var2[$y]) ? 'true<br>' : $var1[$x].'<br>';
    }
  }
}

我得到重复的结果,我在 var2 中失踪了

blue blue blue yellow yellow yellow red red red purple purple purple
black black

当我期望的结果是

blue, yellow, red, purple, red, green, black

有人可以帮助我吗?

标签: phpcompareexplode

解决方案


您可以array_merge()使用 2 个数组,然后运行array_unique()以删除这样的重复项

$var_1 = 'blue, yellow, red, purple, black';
$var_2 = 'blue, red, green, black';

$No_Dups = array_unique( array_merge( explode(",", $var_1), explode(",", $var_2)));
print_r($merged);

结果

Array
(
    [0] => blue
    [1] =>  yellow
    [2] =>  red
    [3] =>  purple
    [4] =>  black
    [7] =>  green
)

推荐阅读