PHP将两个简单数组连接成二维数组


join two simple arrays into two dimentioanl array in PHP

我试图开发一个函数,其中我提供了两个相同大小的简单数组,并将其转换为二维数组,但到目前为止还没有成功

这是我所做的

$list1=array(78,79,80,81);
$list2=array(1,2,3,4);
$result=joinArray($list1,$list2);

function joinArray($array1,$array2){ 
  $Jarray=array();
  for ($x=0; $x<=sizeof($array1)-1; $x++) {
   $Jarray[]=array($array1[$x],$array2[$x]);
  }
  return $Jarray;
} 

我希望最终结果看起来像这样

$result[0][0]=78
$result[0][1]=1
$result[1][0]=79
$result[1][1]=2
$result[2][0]=80
$result[2][1]=3
$result[3][0]=81
$result[3][1]=4

但是它不是以这种格式返回数组,请告诉我为什么它不工作,正确的方法是什么

谢谢

你在给数组添加一个额外的级别。

替换:

$Jarray[]=array(array($array1[$x],$array2[$x]));
与这个:

$Jarray[]=array($array1[$x],$array2[$x]);

下面是一个简单的代码:

function joinArray($arr1, $arr2)  {
    $final_array = array();
    $row = 0;
    for($x = 0; $x<count($arr1); $x++){
        $final_array[$row][0] = $arr1[$x];
        $final_array[$row][1] = $arr2[$x];
        $row++;
    }
    return $final_array;
}
$list1=array(78,79,80,81);
$list2=array(1,2,3,4);
$result = joinArray($list1,$list2);

简单的逻辑返回所需的输出

$list1=array(78,79,80,81);
$list2=array(1,2,3,4);
$array = array();
for ($i=0;$i<count($list1);$i++)
{
$array[$i][0] = $list1[$i];
}
for ($i=0;$i<count($list2);$i++)
{
$array[$i][1] = $list2[$i];
}
var_dump($array);

输出
array
  0 => 
    array
      0 => int 78
      1 => int 1
  1 => 
    array
      0 => int 79
      1 => int 2
  2 => 
    array
      0 => int 80
      1 => int 3
  3 => 
    array
      0 => int 81
      1 => int 4