我是PHP的初学者并且稍微搞乱了数组。
有没有办法检查2个数组的值并将两者结合起来(删除重复数据等)。我知道这个不清楚,所以我将提供一个例子:
$arrayOne = array("102", "103", "104", "105", "106");
$arrayTwo = array("101", "102", "103", "105", "106", "107");
请注意$ arrayOne没有" 101"和" 107"和$ arrayTwo没有" 104"
所以我想要做的是,将两个数组合并成$ array3之类的东西。当我运行print_r($ array3)时,我应该得到一个输出:
Array([0] => 102, [1] => 103, [2] => 105, [3] => 106)
所做的是:" 101"和" 107"已从$ arrayOne和" 104"中删除已从$ arrayTwo中删除,因为这些值对于两个数组都不常见。此外,所有重复的值也已被删除
答案 0 :(得分:2)
array_intersect
完成了这项工作。
$arrayOne = array("102", "103", "104", "105", "106");
$arrayTwo = array("101", "102", "103", "105", "106", "107");
$result=array_intersect($arrayOne, $arrayTwo);
print_r($result); //Array ( [0] => 102 [1] => 103 [3] => 105 [4] => 106 )
如果您需要新的索引,请尝试array_values
print_r(array_values($result)); // Array ( [0] => 102 [1] => 103 [2] => 105 [3] => 106 )
答案 1 :(得分:1)
使用此代码
$arrayOne = array("102", "103", "104", "105", "106");
$arrayTwo = array("101", "102", "103", "105", "106", "107");
$arrayThree = array();
foreach($arrayOne as $k => $v)
{
if(in_array($v, $arrayTwo)){
$arrayThree[] = $v;
}
}
print_r($arrayThree);die;