有很多方法可以修改数组,但这是修改以下多维数组的最佳方法吗?
此数组包含另外两个数组,类别1和2。
$arr = array(
'category 1' => array(
'item 1' => 'lorem',
'item 2' => 'lorem',
'item 3' => 'lorem',
'item 4' => 'lorem',
),
'category 2' => array(
'item 1' => 'lorem',
'item 2' => 'lorem',
'item 3' => 'lorem',
'item 4' => 'lorem',
),
);
如果我var_dump数组,它将看起来像这样。
array(2) {
["category 1"]=>
array(4) {
["item 1"]=>
string(5) "lorem"
["item 2"]=>
string(5) "lorem"
["item 3"]=>
string(5) "lorem"
["item 4"]=>
string(5) "lorem"
}
["category 2"]=>
array(4) {
["item 1"]=>
string(5) "lorem"
["item 2"]=>
string(5) "lorem"
["item 3"]=>
string(5) "lorem"
["item 4"]=>
string(5) "lorem"
}
}
那么,添加[类别3]和[子类别1]的最佳方式是什么,所以看起来如下所示。
array(2) {
["category 1"]=>
array(4) {
["item 1"]=>
string(5) "lorem"
["item 2"]=>
string(5) "lorem"
["item 3"]=>
string(5) "lorem"
["item 4"]=>
string(5) "lorem"
}
["category 2"]=>
array(4) {
["item 1"]=>
string(5) "lorem"
["item 2"]=>
string(5) "lorem"
["item 3"]=>
string(5) "lorem"
["item 4"]=>
string(5) "lorem"
["subcategory 1"]=>
array(2) {
["item 1"]=>
string(5) "lorem"
["item 2"]=>
string(5) "lorem"
}
["category 3"]=>
array(4) {
["item 1"]=>
string(5) "lorem"
["item 2"]=>
string(5) "lorem"
["item 3"]=>
string(5) "lorem"
["item 4"]=>
string(5) "lorem"
}
}
答案 0 :(得分:1)
生成需要添加的单维数组,并将它们简单地添加到第一个数组中:
$array['category_2']['subcategory_1'] = $subcategory_1_array;
$array['category_3'] = $category_3_array;
答案 1 :(得分:0)
我不认为有一个全能的"最好的"方式,但对于你的具体情况,这就足够了:
$arr = array(
'category 1' => array(
'item 1' => 'lorem',
'item 2' => 'lorem',
'item 3' => 'lorem',
'item 4' => 'lorem',
),
'category 2' => array(
'item 1' => 'lorem',
'item 2' => 'lorem',
'item 3' => 'lorem',
'item 4' => 'lorem',
),
);
$arr['category 3'] = array();
for($i = 1; $i < 5; ++$i){
$arr['category 3']["item $i"] = 'lorem';
}