我试图开发一个函数,其中我提供了两个相同大小的简单数组,并将其转换为二维数组,但到目前为止还没有成功
这是我所做的
$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