Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将两个数组元素合并到新的数组元素中_Php_Laravel - Fatal编程技术网

Php 将两个数组元素合并到新的数组元素中

Php 将两个数组元素合并到新的数组元素中,php,laravel,Php,Laravel,我有两个数组 $a = ['0' => 1, '1' => 2, '2' => 3] $b = ['0' => 4, '1' => 5, '2' => 6] 我想创建这样的新数组 $c = [['a' => 1, 'b' => '4'], ['a' => '2', 'b' => '5']] 我尝试了这些函数array\u merge,array\u merge\u recursive,但没有得到积极的结果 $data = ar

我有两个数组

 $a = ['0' => 1, '1' => 2, '2' => 3]
 $b = ['0' => 4, '1' => 5, '2' => 6]
我想创建这样的新数组

 $c = [['a' => 1, 'b' => '4'], ['a' => '2', 'b' => '5']]
我尝试了这些函数
array\u merge
array\u merge\u recursive
,但没有得到积极的结果

$data = array_merge_recursive(array_values($urls), array_values($id));
您必须应用自定义函数:

$newArray = array_map('combine',array_map(null, $a, $b));

function combine($n){

    return array_combine(array('a','b'),$n);
}

print_r($newArray);
输出:-

您必须应用自定义功能:

$newArray = array_map('combine',array_map(null, $a, $b));

function combine($n){

    return array_combine(array('a','b'),$n);
}

print_r($newArray);
输出:-

试试这个

$c = array_merge($a,$b)
$d[] = array_reduce($d, 'array_merge', []);
它将合并两个数组,并将其缩小和重新合并。

试试这一个

$c = array_merge($a,$b)
$d[] = array_reduce($d, 'array_merge', []);

它将合并两个数组,并对其进行缩减和重新合并。

您可以使用
foreach
来处理此问题

$a = ['0' => 1, '1' => 2, '2' => 3];
$b = ['0' => 4, '1' => 5, '2' => 6];
$res = [];
$i = 0;
$total = 2;
foreach($a as $k => $v){
  $res[$i]['a'] = $v;
  $res[$i]['b'] = $b[$k];
  $i++;
  if($i == $total) break;
}

您可以使用
foreach
来处理此问题

$a = ['0' => 1, '1' => 2, '2' => 3];
$b = ['0' => 4, '1' => 5, '2' => 6];
$res = [];
$i = 0;
$total = 2;
foreach($a as $k => $v){
  $res[$i]['a'] = $v;
  $res[$i]['b'] = $b[$k];
  $i++;
  if($i == $total) break;
}

我们的想法是使用一个数组
$ab=['a','b']
和一个来自两个数组的数组,就像这样
$merged_array=[[1,4],[2,5],[3,6]

现在我们可以将数组
$ab
$merged\u array
的每个元素组合,这将是我们需要的结果

   $first = ['0' => 1, '1' => 2, '2' => 3];
   $second = ['0' => 4, '1' => 5, '2' => 6];

   $merged_array = [];
   for($i=0;$i<count($first);$i++)
   {
        array_push($merged_array,[$first[$i],$second[$i]]);
   }

   $final = [];
   $ab = ['a','b'];
   foreach($merged_array as $arr)
   {
       array_push($final,array_combine($ab, $arr));
    }
    print_r($final);
$first=['0'=>1,'1'=>2,'2'=>3];
$second=['0'=>4,'1'=>5,'2'=>6];
$merged_array=[];

对于($i=0;$i的想法是要有一个数组
$ab=['a','b']
和两个数组中的一个数组,像这样
$merged\u数组=[[1,4],[2,5],[3,6]

现在我们可以将数组
$ab
$merged\u数组的每个元素组合起来,这将是我们需要的结果

   $first = ['0' => 1, '1' => 2, '2' => 3];
   $second = ['0' => 4, '1' => 5, '2' => 6];

   $merged_array = [];
   for($i=0;$i<count($first);$i++)
   {
        array_push($merged_array,[$first[$i],$second[$i]]);
   }

   $final = [];
   $ab = ['a','b'];
   foreach($merged_array as $arr)
   {
       array_push($final,array_combine($ab, $arr));
    }
    print_r($final);
$first=['0'=>1,'1'=>2,'2'=>3];
$second=['0'=>4,'1'=>5,'2'=>6];
$merged_array=[];

对于($i=0;$iI)我认为您必须编写自定义函数才能执行所需操作,因为您没有任何像“a”“b”这样的键。我认为您必须编写自定义函数才能执行所需操作,因为您没有任何像“a”“b”这样的键。此
数组映射(null,$a,$b)
很有趣。你能解释一下它是如何工作的吗?@SujeetAgrahari你可以查看此链接以获得更好的解释:-此
数组映射(null,$a,$b)
很有趣。你能解释一下它是如何工作的吗?@SujeetAgrahari你可以查看此链接以获得更好的解释:-