我有两个数组。
update tmp_addit set amount =(select sum(amount) from tmp_addit
where allowance_id in(5,6)
group by salary_id) where allowance_id=4;
我想创建这样的新数组
$a = ['0' => 1, '1' => 2, '2' => 3]
$b = ['0' => 4, '1' => 5, '2' => 6]
我已经尝试过这些功能 $c = [['a' => 1, 'b' => '4'], ['a' => '2', 'b' => '5']]
,array_merge
,但没有得到积极的结果
array_merge_recursive
答案 0 :(得分:5)
您必须使用具有自定义功能的array_map():
$newArray = array_map('combine',array_map(null, $a, $b));
function combine($n){
return array_combine(array('a','b'),$n);
}
print_r($newArray);
答案 1 :(得分:0)
尝试这个
$c = array_merge($a,$b)
$d[] = array_reduce($d, 'array_merge', []);
它将合并两个数组,并将其减少并重新合并。
答案 2 :(得分:0)
您可以使用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;
}
答案 3 :(得分:0)
这个想法是有一个数组$ab = ['a','b']
和两个数组$merged_array = [[1,4],[2,5],[3,6]]
中的一个数组。
现在我们可以将数组$ab
与$merged_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);