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);
?>
我不确定这个问题是否有意义,但我有以下数组:
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);
?>