如何将 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 可以做还是自己做?
感谢您的阅读和回答。
是否可以将数组转换为预期的数组?
是的。
有没有什么功能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);
这将动态处理主数组中任意数量的子数组。
它使用 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/5SmSW
我的处境很困难。 我会有一个像
这样的数组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 可以做还是自己做?
感谢您的阅读和回答。
是否可以将数组转换为预期的数组?
是的。
有没有什么功能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);
这将动态处理主数组中任意数量的子数组。
它使用 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/5SmSW