将不同数组的键值合并到一个新数组中

时间:2016-04-10 03:30:51

标签: php arrays

考虑我有N个这样的数组

array(3) { [0]=>"XXX" [1]=>"YYY" [2]=>"ZZZ" }
array(3) { [0]=>"1" [1]=>"2" [2]=>"3" }
array(3) { [0]=>"present" [1]=> "present" [2]=>"absent" }

如何将这些数组的键值合并到一个新数组中。即它看起来应该是这样的

array(3) {[0]=>"XXX" [1]=>"1" [2]=>"present"}
array(3) {[0]=>"YYY" [1]=>"2" [2]=>"present"}
array(3) {[0]=>"ZZZ" [1]=>"3" [2]=>"absent"}

1 个答案:

答案 0 :(得分:0)

所以你有3个阵列,想要将第一个值相互组合,彼此相互组合,等等?

<?php 
  $loops = count($array1);
  $newArray = array();
  for($i = 0; $i < $loops; $i++){
   $newArray[] = array($array1[$i], $array2[$i], $array3[$i]);
  }
var_dump($newArray();
    ?>

你也可以动态地(对于无数个数组)这样做:

<?php 
  $loops = count($arrayCollection[0]);
  $arrayCount = count($arrayCollection);
  $newArray = array();
  for($i = 0; $i < $loops; $i++){
   $data = array();
   for($x = 0; $x < $arrayCount; $x++){
     $data = $arrayCollection[$x][$i]
   }
   $newArray[] = $data;
  }
  var_dump($newArray();
    ?>

我刚刚看到您对表单中数据的评论。我觉得我应该通知你,如果表单上的任何字段都是空的,那么数组的整个顺序就会搞乱,这样的函数根本不可能。您必须 100%确定您的数据以正确的方式排序。