我有相同的子阵列的大阵,一个小例子可能看起来像:删除子数组,如果条件(两个键和值)满足
array(4) {
[0]=>
array(2) {
["id_product"]=>
string(4) "1372"
["quantity"]=>
int(0)
}
[1]=>
array(2) {
["id_product"]=>
string(4) "1373"
["quantity"]=>
int(1)
}
[2]=>
array(2) {
["id_product"]=>
string(4) "1374"
["quantity"]=>
int(2)
}
[3]=>
array(2) {
["id_product"]=>
string(4) "1375"
["quantity"]=>
int(0)
}
}
我的目标是创建一个新的数组,不包括子阵列,quantity
等于int(0)
,什么可能看到这样的信息:
array(4) {
[1]=>
array(2) {
["id_product"]=>
string(4) "1373"
["quantity"]=>
int(1)
}
[2]=>
array(2) {
["id_product"]=>
string(4) "1374"
["quantity"]=>
int(2)
}
}
我使用array_search()
和unset()
尝试,但都无济于事。有关如何使用这些函数的任何建议,以便我可以排除具有如下条件的任何子数组:sub-key
= x和value
= y。
非常感谢您的帮助。
请downvoter告诉我们为什么? –
这个问题需要根据条件过滤出数组中的元素,并创建一个新过滤的数组。使用array_filter()的最佳案例 – Alex
这对我来说非常合适,它解决了像魅力这样的问题。我认为应该把一些upvotes放在这里而不是downvoting,因为使用'unset'和'array_search'是浪费时间(对我来说)。 –