Как добавить другой массив внутри этого массива в php
Извините, если это название может показаться вводящим в заблуждение, я действительно не знал, как задать этот вопрос.
Так что у меня есть такой массив
$array=
[
'Drinks'=>[
'Water'=> [
'ID' => '4',
'Name' => 'Clean-water',
'Value' => '1',
'Made' => 'Acient',
'Stackable' => true
],
'Wine'=> [
'ID' => '5',
'Name' => 'Soff',
'Value' => '5',
'Made' => 'Acient',
'Stackable' => true
],
'Vodka'=> [
'ID' => '6',
'Name' => 'Laudur',
'Value' => '7',
'Made' => 'Acient',
'Stackable' => true
]
]
];
Я хочу добавить еще один массив в "Vodka", например, с такими значениями:
'Vodka'=> [
'ID' => '6',
'Name' => 'Laudur',
'Value' => '7',
'Made' => 'Acient',
'Stackable' => true
],[
'ID' => '7',
'Name' => 'Test',
'Value' => '9',
'Made' => 'New',
'Stackable' => true
]
Но когда я var_dump, я не получу этот массив в массив "Vodka", он создаст массив [0].
array (size=2)
'Weapons' =>
array (size=3)
'Sword' =>
array (size=5)
'ID' => string '1' (length=1)
'Name' => string 'Lurker' (length=6)
'Value' => string '12' (length=2)
'Made' => string 'Acient' (length=6)
'Stackable' => boolean false
'Shield' =>
array (size=5)
'ID' => string '2' (length=1)
'Name' => string 'Obi' (length=3)
'Value' => string '22' (length=2)
'Made' => string 'Acient' (length=6)
'Stackable' => boolean false
'Warhammer' =>
array (size=5)
'ID' => string '3' (length=1)
'Name' => string 'Clotch' (length=6)
'Value' => string '124' (length=3)
'Made' => string 'Acient' (length=6)
'Stackable' => boolean false
'Drinks' =>
array (size=4)
'Water' =>
array (size=5)
'ID' => string '4' (length=1)
'Name' => string 'Clean-water' (length=11)
'Value' => string '1' (length=1)
'Made' => string 'Acient' (length=6)
'Stackable' => boolean true
'Wine' =>
array (size=5)
'ID' => string '5' (length=1)
'Name' => string 'Soff' (length=4)
'Value' => string '5' (length=1)
'Made' => string 'Acient' (length=6)
'Stackable' => boolean true
'Vodka' =>
array (size=5)
'ID' => string '6' (length=1)
'Name' => string 'Laudur' (length=6)
'Value' => string '7' (length=1)
'Made' => string 'Acient' (length=6)
'Stackable' => boolean true
0 =>
array (size=5)
'ID' => string '7' (length=1)
'Name' => string 'Viru' (length=4)
'Value' => string '8' (length=1)
'Made' => string 'Acient' (length=6)
'Stackable' => boolean true
Как я могу исправить это, потому что я действительно хочу добавить это в массив "Vodka", но я не хочу создавать еще один массив "Drinks"?
$add = [
'ID' => '7',
'Name' => 'Test',
'Value' => '9',
'Made' => 'New',
'Stackable' => true
];
$array['Drinks']['Vodka'] = array_merge([$array['Drinks']['Vodka']], [$add]);
array_merge()
http://fi2.php.net/manual/en/function.array-merge.php
Вам нужно сделать следующее: -
$array['Drinks']['Vodka']=[
$array['Drinks']['Vodka'], [
'ID' => '7',
'Name' => 'Test',
'Value' => '9',
'Made' => 'New',
'Stackable' => true
]
];
print_r($array);
Выход: - https://eval.in/856440