我有使用關聯數組,看起來像這樣將數據插入表中的方法,包括:將array_keys和array_values組合到原始數組中?
array(
"col1" => "value1",
"col2" => "value2",
"col3" => "value3",
);
如果我使用array_keys()
和array_values()
通過在陣列上我可以保證,在每一組中的第一項,匹配傳入的原始數組?
// Note: validation excluded
$keys = array_keys($data); // $data is the array passed in
$values = array_values($data);
$q = array_pad(array(), count($data), "?");
$this->query("insert into `$this->table` (`" . implode("`,`", $keys) . "`) values (" . implode(",", $q) . ")", $values);
所以,就這樣,我可以保證$keys[1]
和$values[1]
是從原來的陣列相同的密鑰和值,或者是有可能,他們可以col3
和value1
?
另一種說法是,如果我使用array_combine($keys, $values)
,我會得到原始數組key => value
pair back(不包括項目順序)?
我很擔心,如果這沒有做什麼,我想,value2
可能進入col3
,而不是col2
或類似的東西....
你爲什麼不使用'foreach'? – 2014-10-08 16:20:31
我爲此使用foreach。 – 2014-10-08 16:20:45
我可以,但這看起來更乾淨... – 2014-10-08 16:21:47