我在两个MYSQL表中有两个数组。我想遍历第一个数组(array1),如果第二个数组(array2)中存在一个值,则在第二个数组(array2)中跳过该值并继续检查。如果它不存在,请将其添加到第二个数组(array2)。
一个例子:
array1 = 1,2,3,4,5
array2 = 2,4,6,8,10
因此我们遍历array1以检查array2中是否存在元素。如果它没有将它添加到数组2.因此,array2的新值应该是:
array2= 1,2,3,4,5,6,8,10
这就是我所做的,但它不起作用。它删除array2的所有值并添加新值。它不会忽略常见的价值观。请帮忙。
$array1= explode(",", $results1);
$array2= explode(",", $results2);
foreach($array1 as $key => $value) {
if (in_array($value, $array2)) {
if ($results2 != "") {
$results2= "$results2,$value";
} else { $results2= "$value"; }
mysql_query("UPDATE datas SET results2 ='$results2'
WHERE r2_id ='$r2_id'")
or die ("Died".mysql_error());
} else {
//Do nothing
}
}
我有什么问题吗?请帮忙。我现在已经有一段时间了。
答案 0 :(得分:2)
这是一个合并数组的单行程序:
$merged = array_unique(array_merge(explode(",", $results1), explode(",", $results2)));
$string = implode(",", $merged);
mysql_query("UPDATE datas SET results2 = '$string' WHERE r2_id = $r2_id") or die("Died ".mysql_error());
至于你做错了什么,因为你问:
$results2
时,只需更新一次即可发出UPDATE查询。