在我的收藏夹中,我有一些foreach会返回某些id的 BUT 而不是 array ,因此array_unique()
在我的情况下不起作用。我想区分返回的值。
foreach ($prodCollection as $prod) {
$catCollection = getModel()...; //$prod i need it in my collection
foreach ($catCollection as $col) {
var_dump($col->getId());
}
}
结果:
string(4) "5510"
string(4) "5510"
我需要的只是string(4) "5510"
一次。
答案 0 :(得分:1)
您可以这样操作。
检查value是否在数组中,如果不是,则将其添加到数组中。 这可能会有帮助。
$result = array();
foreach ($prodCollection as $prod) {
$catCollection = getModel()...; //$prod i need it in my collection
foreach ($catCollection as $col) {
if(!in_array($col->getId(), $result)){ // Check if value is in array or not, if not then add it in array.
$result[]=$col->getId();
}
//var_dump($col->getId());
}
}
答案 1 :(得分:0)
使用带有键的数组。将您的值作为键放入数组中。与Set具有相同的效果
$set1 = array ('a' => 1, 'b' => 1, );
或
将项目添加到数组中,然后调用array_unique删除重复项
答案 2 :(得分:0)
我只是将此解决方案作为一种解决方法,它可以解决我不知道它是否更好的方法!
View