我正在从几个文本框创建一个数组。我需要移动数组中的元素以插入数据库。这是数组:
array(2) { [0]=> string(7) "nameone" [1]=> string(7) "nametwo" }
array(2) { [0]=> string(6) "ageone" [1]=> string(6) "agetwo" }
array(2) { [0]=> string(13) "parentnameone" [1]=> string(13) "parentnametwo" }
array(2) { [0]=> string(14) "parentemailone" [1]=> string(14) "parentemailtwo" }
array(2) { [0]=> string(14) "parentphoneone" [1]=> string(14) "parentphonetwo" }
我想最终得到一个插入语句,例如:
nameone, ageone, parentnameone, parentemailone, parentphoneone
和要插入的下一行将是
nametwo, agetwo, parentnametwo, parentemailtwo, parentphonetwo
我试图为每个循环创建一个包含多个数组的数组,但我最后得到一个数组,我需要移动键,这会带来回到我原来的问题。 这个疯子有没有办法?
答案 0 :(得分:1)
好吧,假设您的主数组包含5个数组,每个数组包含2个元素。让我们称之为$ mainArr。第一行中的“2”是否定的。每个子阵列中的元素。或者如果子阵列的长度不相等,那么它就是最大子阵列的长度。
for($i=0;$i<2;$i++) {
foreach($mainArr as $key => $a) {
$ins[$i][] = $a[$i];
} // form an array with insert elements
}
// traverse that to form inserts
foreach($ins as $key => $arr) {
$statements[] = implode(",", $ins[$key]);
}
echo '<pre>';
print_r($statements);
我认为那就是你想要的。如果没有,请告诉我。希望有所帮助!
答案 1 :(得分:0)
$l = count($array[0]);
for ($i=0; $i<$l; $i++) {
// access values like this:
$name = $array[0][$i]; // equals nameone first time and nametwo second time
$age = $array[1][$i];
$parentname = $array[2][$i];
$parentemail = $array[3][$i];
$parentphone = $array[3][$i];
// insert into DB here
}
答案 2 :(得分:-1)
#!/usr/bin/php
<?php
$val = array('name', 'age', 'parentname', 'parentemail');
$key = array('one', 'two', 'three', 'four', 'five');
$valone = array();
foreach ($val as $k)
array_push($valone, $k.$key[0]);
var_dump($valone);
?>
输出:
array(4) {
[0]=>
string(7) "nameone"
[1]=>
string(6) "ageone"
[2]=>
string(13) "parentnameone"
[3]=>
string(14) "parentemailone"
}
这是你想要你做的吗?