這個答案正如你所期望的那樣,完全取決於你試圖達到的目標。
我會假設你的兩個數組如下(爲示範的目的):
$arrayA = array(
'Alpha' ,
'Bravo' ,
'Charlie'
);
$arrayB = array(
'Zulu' ,
'Yankee' ,
'Xray'
);
現在,如果你想要將這些值放入一個表(稱爲the_table爲便於參考),讓他們創建一個單行像這樣
column_a | column_b
"Alpha,Bravo,Charlie" | "Zulu,Yankee,Xray"
那麼你將要產生的SQL是
INSERT INTO `the_table` (`column_a` , `column_b`)
VALUES ("Alpha,Bravo,Charlie" , "Zulu,Yankee,Xray")
而且PHP來產生SQL可能是
$sqlTpl = 'INSERT INTO `the_table` (`column_a` , `column_b`)
VALUES ("%s" , "%s")';
$sqlStr = sprintf($sqlTpl ,
implode(',' , $arrayA) ,
implode(',' , $arrayB));
現在,如果你是,而是希望產生一組匹配行的,從每一個兩個數組的一對,像這樣
column_a | column_b
"Alpha" | "Zulu"
"Bravo" | "Yankee"
"Charlie" | "Xray"
的SQL將
INSERT INTO `the_table` (`column_a` , `column_b`)
VALUES ("Alpha" , "Zulu") ,
("Bravo" , "Yankee") ,
("Charlie" , "Xray")
,而PHP的產生,可能是
$sqlTpl = 'INSERT INTO `the_table` (`column_a` , `column_b`)
VALUES (%s)';
$sqlArr = array();
foreach($arrayA as $k => $v)
$sqlArr[] = '"'.$arrayA[$k].'" , "'.$arrayB[$k].'"';
$sqlStr = sprintf($sqlTpl ,
implode(') , (' , $sqlArr));
使用SELECT INTO會不會更好?類似於SELECT t1.field1,t2.field2 INTO new_table FROM。但是,如果您不重組/歸檔,VIEW會更好。 –
2011-05-07 01:47:30