【问题标题】:Building multidimensional array with input from 2 arrays使用来自 2 个数组的输入构建多维数组
【发布时间】:2020-06-10 16:03:05
【问题描述】:

创建 level-1 可以正常工作,但是在创建 level-2 时,它只更新索引 [1] 的第一个字母。

代码:

// Position [Level-1]
$taxonomy_id = [
  "id_no_1",
  "id_no_2",
  "id_no_3",
];

// Position [Level-2]
$titles = [
  "title_1",
  "title_2",
  "title_3",
];

$array = [];


for ($i = 0; $i < count($taxonomy_id); $i++) {

//Construct level-1
$array[] = $taxonomy_id["{$i}"];

//Construct level-2
$array["{$i}"]["{$i}"] = $titles["{$i}"];

}

print_r($array);

结果:

(
    [0] => td_no_1
    [1] => it_no_2
    [2] => id_no_3
)

想要的结果:

Array
(
    [id_no_1] => Array
        (
            [0] => title_1
        )

    [id_no_2] => Array
        (
            [0] => title_2
        )

)

【问题讨论】:

    标签: php arrays for-loop multidimensional-array php-7.3


    【解决方案1】:

    你最好一次性创建子数组,你也可以用$i简化"{$i}"...

    for ($i = 0; $i < count($taxonomy_id); $i++) {
        $array[$taxonomy_id[$i]] = [$titles[$i]];
    }
    

    【讨论】:

    • 是否可以使用相同的 for 循环添加 2 个子级别?我打算添加一个单独的问题,但我当天的问题配额已超出。
    猜你喜欢
    • 1970-01-01
    • 2016-12-02
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多