我有使用关联数组,看起来像这样将数据插入表中的方法,包括:将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