PHP - 根据索引加入数组中的项目

PHP - join items in array based on their index

我不确定这个问题是否有意义,但我有以下数组:

Array ( 
    [columns_0_title] => qasdf 
    [columns_0_content] => zxcv 
    [columns_1_title] => Title 1 
    [columns_1_content] => content 1 
    [columns_2_title] => Title 2 
    [columns_2_content] => content 2 
    [columns_3_title] => 1 
    [columns_3_content] => 2 
    [columns_4_title] => asdf 
    [columns_4_content] => 7 
)

我想加入具有匹配索引的项目。例如,column_0_title & column_0_content 将成为一个单独的嵌套数组

Array ( 
    [
        [title] => qasdf 
        [content] => zxcv 
    ]
    [
        [title] => Title 1 
        [content] => content 1 
    ]
    [
        [title] => Title 2 
        [content] => content 2 
    ]
    [
        [title] => 1 
        [content] => 2 
    ]
    [
        [title] => asdf 
        [content] => 7
    ] 
)

使用 foreach 在数组内部循环,然后使用 explode 函数从键中提取索引和键名,然后根据您提取的索引和键名将值添加到新数组中

<?php
$arr = [
    "columns_0_title" => "title 0",
    "columns_0_content" => "content 0",
    "columns_1_title" => "title 1",
    "columns_1_content" => "content 1",
    "columns_2_title" => "title 2",
    "columns_2_content" => "content 2",
];
$new_arr = [];
foreach ($arr as $key => $value) {
    $index_arr = explode("_", $key);
    $new_arr[$index_arr[1]][$index_arr[2]] = $value;
}
var_dump($new_arr);
?>