[英]Php check if object with property exists in array
假設我有以下PHP代碼:
$a = new a();
$a->id = 1;
然后,我得到了類型為a的對象的數組$m
(但它們實際上可以是任何類型)。 我想檢查m中是否有任何對象的屬性ID等於1。在Java中,我會執行以下操作:
myList
.stream()
.filter(x <- x.id == a.id)
.count();
在PHP中,我嘗試
in_array($a, $m)
但這似乎不起作用,因為很明顯,即使另一個對象具有相同的ID,它仍然是另一個對象。
我顯然可以使用循環,但是實際上我想檢查數組n
是否有任何對象在m
具有相同的ID,所以我寧願避免嵌套循環。
PHP還具有數組過濾功能,(出於顯而易見的原因)它被稱為array_filter()並使用匿名函數來完成您想要的操作。
function findAllWithId($objects, $id) {
return array_filter($objects, function($toCheck) use ($id) {
return $toCheck->id == $id;
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.