【发布时间】:2020-06-10 11:19:57
【问题描述】:
希望在下面构造多维数组。 第一个 level-1 没问题,但是第二个设置为相同的 level-1。
问题:
如何指导第二个 foreach 循环在 level-1 下构建 level-2?
想要的结果:
Array
(
[id_no_1] => Array
(
[0] => title_1
)
[id_no_2] => Array
(
[0] => title_2
)
)
我的尝试:
<?php
// Position [Level-1]
$taxonomy_id = [
"id_no_1",
"id_no_2",
];
// Position [Level-2]
$titles = [
"title_1",
"title_2",
];
$array = [];
// Populate [level-1]
foreach ($taxonomy_id as $key => $value) {
array_push($array, $taxonomy_id["{$key}"]);
}
// Populate [level-2]
foreach ($titles as $key => $value) {
array_push($array, $titles["{$key}"]);
}
print_r($array);
结果
数组
(
[0] => id_no_1
[1] => id_no_2
[2] => title_1
[3] => title_2
)
【问题讨论】:
-
您不能使用
array_push指定密钥。您可能想在这里使用几乎相同的语法,正如您在最近的另一个问题中向您解释的那样,stackoverflow.com/questions/60414697 -
您想从一个输入数组中获取键,并从另一个输入数组中获取子数组的值 - 因此您需要以某种方式将两者关联起来,而不是分别循环遍历它们。
for而不是foreach循环在这里可能更有意义,它将允许您使用循环计数器同时访问两者的相应值。 -
@CBroe 您的建议最适合这个问题,并且是最直接的方法。请将评论移至答案,我会批准。
标签: php arrays multidimensional-array foreach php-7.3