我有以下两个数组:
$array1 = (-5, -1, 9, 0, 5);
$array2 = (22, 19, 13, 11, 4);
注意:中间有很多代码,这意味着数组的最终输出以逗号分隔,正如SQL查询中所期望的那样。 E.G:
echo $array1;
输出:
-5, -1, 9, 0, 5
我想按照以下方式做点什么:
$UpdSQL ="UPDATE tbl_test SET ing_ml=('$array1') WHERE ing_id IN ('$array2')";
两个数组的顺序匹配。所以我想要发生的是:
ID | ing_ml
22 | -5
19 | -1
13 | 9
etc | etc
然而,我无法弄清楚该怎么做。非常感谢任何帮助。
答案 0 :(得分:1)
$array1 = [-5, -1, 9, 0, 5];
$array2 = [22, 19, 13, 11, 4];
$combined = array_combine($array2, $array1);
print_r($combined);
/* outputs:
Array
(
[22] => -5
[19] => -1
[13] => 9
[11] => 0
[4] => 5
)
*/
foreach ($combined as $key => $value) {
echo "UPDATE tbl_test SET ing_ml = '$value' WHERE ing_id = '$key';";
}
/* outputs:
UPDATE tbl_test SET ing_ml = '-5' WHERE ing_id = '22';
UPDATE tbl_test SET ing_ml = '-1' WHERE ing_id = '19';
UPDATE tbl_test SET ing_ml = '9' WHERE ing_id = '13';
UPDATE tbl_test SET ing_ml = '0' WHERE ing_id = '11';
UPDATE tbl_test SET ing_ml = '5' WHERE ing_id = '4';
*/