$cart_array = .....;
Array
(
[0] => item Object([id] => 123 [size_id] => 2)
[1] => item Object([id] => 123 [size_id] => 3))
$cart_array = array_filter(
$cart_array,
function ($item) {
return $item->id != 123 && $item->size_id != 2;
}
);
预期结果 :
Array
(
[0] => item Object([id] => 123 [size_id] => 3))
但这会返回一个空数组($cart_array)。任何帮助将是可观的。谢谢。
这是因为两个项目$cart_array
都未通过测试。
<?php
$cart1 = new StdClass;
$cart1->id = 123;
$cart1->size_id = 2;
$cart2 = new StdClass;
$cart2->id = 123;
$cart2->size_id = 3;
$cart_array = array_filter(
[$cart1, $cart2],
function ($item) {
// Items both have an id of 123, therefore this returns false
return $item->id != 123 && $item->size_id != 2;
}
);
也许你只想保持尺寸 3?
$cart_array = array_filter(
[$cart1, $cart2],
function ($item) {
// This will keep $cart2 since it has an id of 123 and a size_id not equal to 2 but remove $cart1 since size_id is equal to 2
return $item->id == 123 && $item->size_id != 2;
}
);
这里的例子:http : //ideone.com/oqz16S
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句