如何将 array1 的每个项目合并项目数组 2 到 PHP 中的新数组

How to take each item of array1 combine item array 2 to new array in PHP

我的处境很困难。 我会有一个像

这样的数组
array(
    'title' => array(
        "ABC",
        "DEF",
        "GHI"
    ),
    "url" => array(
        "abc",
        "def",
        "ghi"
    )
);

现在,我想用如下数据创建新数组:

array(
    array(
        "title" => "ABC",
        "url" => "abc",
    ),
    array(
        "title" => "DEF",
        "url" => "def",
    ),
    array(
        "title" => "GHI",
        "url" => "ghi",
    ),
);

我是用foreach循环做的,但实际上,我有10多个数组。如果我为每个循环创建 10 个 foreach 循环,我将降低性能。

所以我的问题是:

感谢您的阅读和回答。

是否可以将数组转换为预期的数组?

是的。

有没有什么功能PHP可以做还是自己做?

没有

您应该使用 for 循环遍历两个数组来构造您想要的数组。

示例:

$array = ["a", "b"];
$array2 = ["b", "c"];

$newArray = [];

foreach ($array as $key => $value)
{
    $newArray[$key] = [];
    $newArray[$key]["title"] = $value;
}

foreach ($array2 as $key => $value)
{
    $newArray[$key]["url"] = $value;
}


var_dump($newArray);

你需要使用简单的foreach()

$final_array = [];

foreach($array['title'] as $key=>$value){
    $final_array[] = ['title'=>$value,'url'=>$array['url'][$key]];
}

print_r($final_array);

输出:- https://eval.in/999434

这将动态处理主数组中任意数量的子数组。
它使用 array_keys 来查找所有子数组。

$keys = array_keys($arr);
$count = count($arr[$keys[0]]);

For($i=0; $i<$count; $i++){
    Foreach($keys as $key){
        $res[$i][$key] = $arr[$key][$i];
    }
}

Var_dump($res);

https://3v4l.org/41PNh

具有三个子数组的示例:https://3v4l.org/5SmSW