在PHP中将两个简单数组连接成两个dimentioanl数组

时间:2022-10-24 22:24:54

I was trying to develop a function where I provide two simple arrays of same size and it covert it into two dimentional array,but so far no success

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

Here what I did

这就是我做的

$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;
} 

I want the end result should look like this

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

$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

But its not retuning array in this format,Please tell me why its not working what is the proper way of doing it

但它不是这种格式的重新调整阵列,请告诉我为什么它不能正常工作的正确方法

Thanks

谢谢

3 个解决方案

#1


0  

Here is a simple code:

这是一个简单的代码:

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

The $row variable do the trick.

$ row变量可以解决这个问题。

#2


1  

You're adding an extra level to the array.

您正在为阵列添加额外的级别。

Replace this:

替换这个:

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

with this:

有了这个:

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

#3


0  

Simple logic return your required output

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

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

Output

产量

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

#1


0  

Here is a simple code:

这是一个简单的代码:

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

The $row variable do the trick.

$ row变量可以解决这个问题。

#2


1  

You're adding an extra level to the array.

您正在为阵列添加额外的级别。

Replace this:

替换这个:

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

with this:

有了这个:

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

#3


0  

Simple logic return your required output

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

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

Output

产量

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