0

我正在从几个文本框创建一个数组。我需要移动数组中的元素以插入数据库。这是数组:

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

我试图为每个循环创建一个具有多个的数组,但我最终得到一个数组,我需要移动键,这又回到了我原来的问题。有没有办法解决这种疯狂?

4

3 回答 3

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);

我想这就是你想要的。如果没有,请告诉我。希望有帮助!

于 2012-06-18T15:57:41.943 回答
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
}
于 2012-06-18T15:26:24.690 回答
-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"
  }

这是你要你做的吗?

于 2012-06-18T15:39:06.530 回答