如何在PHP中将array1的每个项合并到新数组中
我的处境很困难。 我将有一个类似的数组如何在PHP中将array1的每个项合并到新数组中,php,arrays,loops,associative-array,array-merge,Php,Arrays,Loops,Associative Array,Array Merge,我的处境很困难。 我将有一个类似的数组 array( 'title' => array( "ABC", "DEF", "GHI" ), "url" => array( "abc", "def", "ghi" ) ); 现在,我想用如下数据创建新阵列: array( array( "title" => "ABC",
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);
是否可以将数组转换为预期的数组 对 它在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);
您需要使用simple
foreach()
输出:-您需要使用simple
foreach()
输出:-这将与主阵列中的任意数量的子阵列一起动态工作。
它使用数组_键查找所有子数组
$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);
$keys=array\u keys($arr);
$count=count($arr[$keys[0]]);
对于($i=0;$i这将在主阵列中的任意数量的子阵列中动态工作。
它使用数组_键查找所有子数组
$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);
$keys=array\u keys($arr);
$count=count($arr[$keys[0]]);
对于($i=0;$iSince,因为没有公共数据,我想说自己做可能更容易
@aynber我这么做了,但我只是要求一个比foreach更好的方法。因为我有超过02个数组,比如示例。我必须做10次foreach循环。这将影响性能。@TommyDo试试我的答案,它应该会像你预期的那样工作,因为没有公共数据,我想说自己做可能更容易。使用simpleforeach()
@aynber我这么做了,但我只是要求一个比foreach更好的方法。因为我有超过02个数组,比如示例。我必须做10次foreach循环。这会影响性能。@TommyDo试试我的答案,它应该会像你期望的那样工作。谢谢你的快速响应。我做了与你相同的结果,但事实上我有两个以上的数组“title”,“url”。可能是10个数组。因此,通过这种方式,我必须为每个循环做10个。我只是担心性能。感谢您的快速响应。我做了与您相同的结果,但事实上我有两个以上的数组“标题”,“url”。可能是10个数组。所以用这种方法,我必须为每个循环做10个。我只是担心性能。这不起作用,OP在上面的评论中更新了他的要求。我在OP更改要求的10分钟后给出了答案。现在你给出了答案。我知道,我只是想我应该提一下。这不起作用,OP在c中更新了他的要求当OP改变他的要求时,我在10分钟前给出了答案。现在你们给出了答案。我知道,只是觉得我应该提一下。