Удалить ключи из многомерного массива
У меня есть имя массива $json_output.
array(3) {
["ProductsSummary"]=>
array(2) {
["TotalPages"]=>
int(2)
["CurrentPage"]=>
int(1)
}
["Products"]=>
array(60) {
[0]=>
array(3) {
["LastShopUpdate"]=>
string(26) "/Date(1382716320000+0200)/"
["Score"]=>
float(0.2208696)
["ProductId"]=>
int(1306413101)
["ArticleNumber"]=>
}
[1]=>
array(3) {
["LastShopUpdate"]=>
string(26) "/Date(1382716320000+0200)/"
["Score"]=>
float(0.2208696)
["ProductId"]=>
int(1306413101)
["ArticleNumber"]=>
}
И так далее. Мне нужно сбросить ProductId и LastShopUpdate от каждого.
Что я попробовал:
<?php
foreach($json_output["Products"] as $bla)
unset($bla['ArticleNumber'], $bla['LastShopUpdate']);
?>
Но это не работает. Как я мог это сделать?
1 ответ
Решение
При циклическом использовании массива foreach
обычно делается копия. Изменение чего-либо в копии, конечно, не влияет на оригинал. Попробуй это:
foreach($json_output["Products"] as & $bla)
unset($bla['ArticleNumber'], $bla['LastShopUpdate']);
&
причины $bla
быть ссылкой вместо копии. Поэтому это должно решить вашу проблему.