How to remove an item from a nested array in PHP?
我有一个复杂的嵌套数组,我想删除具有特定存储区ID的所有项及其子项:这真的很困难,我不知道怎么弄清楚。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Array
(
[0] => Array
(
[cart_id ] => 89
[product_id ] => 46
[store_id ] => 2
[option ] => Array
(
[0] => Array
(
[product_option_id ] => 92
[value ] => Aqua
)
[1] => Array
(
[product_option_id ] => 91
[value ] => 85C
)
)
)
[1] => Array
(
[cart_id ] => 90
[product_id ] => 46
[store_id ] => 2
) |
非常感谢你的帮助。
- 如何从关联数组中删除键及其值的可能重复项?
- @默罕默德托马雷:也许对你来说,这两个是一样的,但对我这个初学者来说,它们是完全不同的!
- @穆罕默德托马雷:我不理解投票结果。这似乎是一个合理的问题。对我来说,这是一个问题,我在谷歌里找不到与我的问题相匹配的合适答案,所以我遗漏了什么使这个问题落选?不打架,只是好奇。和平。
- @穆罕默德托马雷:只是因为对于像你这样的聪明人来说,这太容易了,应该投反对票!?
如果你想删除整个数组元素,如果它有一个特定的store_id,你只需要在数组上循环,检查store_id,如果你不想再删除这个元素。
例如。:
1 2 3 4 5 6 7
| <?php
foreach($data as $key=>$row){
if($row['store_id'] == 2){
unset($data[$key]);
}
}
?> |
您可以将"2"更改为任何您想要专门删除存储的内容。或者,如果要匹配多个商店,可以更改if以匹配一组ID。
下面是在多维数组中取消设置购物车ID的示例。
1 2 3 4 5
| <?php
foreach($data as $key=>$row){
unset($data[$key]['cart_id']);
}
?> |