这真的很简单。 我只想合并
array(array1( a, b, c), array2(z,b,d),array3(1,2,3));
基于他们的位置,因此结果是
Array((a,z,1),(b,b,2),(c,d,3);
我尝试过的!!!!!!
$titles= array();
$i =0;
foreach($movies as $movieAtt){
while(count($movieAtt)<count($titles)){
array_unshift($titles, $movieAtt[1]);
}
}
数组$ Movies具有3个数组。 array(title(1,2,3,4,5),year(,1,2,3,3),url(1,3,534,3))
标题,年份和网址
我希望将每个数组的第一个元素放入一个新数组,然后继续。
我们在这里得到一个数组,该数组采用每个数组的第一个元素,并将其放入分组的新数组中。
答案 0 :(得分:1)
function mergeArrays(...$arrays) {
$result = [];
foreach ($arrays as $arr) {
$i = 0;
foreach ($arr as $elem) {
$result[$i][] = $elem;
$i++;
}
}
return $result;
}
$res = mergeArrays(['a', 'b', 'c'], ['z', 'b', 'd'], [1, 2, 3]);
print_r($res);
您将获得:
Array
(
[0] => Array
(
[0] => a
[1] => z
[2] => 1
)
[1] => Array
(
[0] => b
[1] => b
[2] => 2
)
[2] => Array
(
[0] => c
[1] => d
[2] => 3
)
)
答案 1 :(得分:0)
您可以尝试以下方式
<?php
$a1 = ['a', 'b', 'c'];
$a2 = ['z', 'b', 'd'];
$a3 = [1, 2, 3];
$com = [$a2, $a3];
array_walk($a1, function (&$item, $key) use ($com) {
$new_arr = [$item];
$rest = array_map(function ($arr) use ($key) { return isset($arr[$key]) ? $arr[$key] : null; }, $com);
$item = array_filter(array_merge($new_arr, $rest));
});
print '<pre>';
print_r($a1);