gpt4 book ai didi

PHP 检查数组中是否存在具有属性的对象

转载 作者:行者123 更新时间:2023-12-03 16:16:09 25 4
gpt4 key购买 nike

假设我有以下 PHP 代码:

$a = new a();
$a->id = 1;

然后我有一个数组 $m a 类型的对象(但它们确实可以是任何类型)。我想检查 m 中是否有任何对象的属性 id 等于 1。在 Java 中,我会执行以下操作:
myList
.stream()
.filter(x <- x.id == a.id)
.count();

在 PHP 我试过
in_array($a, $m)

但这似乎不起作用,因为显然即使另一个对象具有相同的 ID,它仍然是一个不同的对象。

我显然可以使用循环,但实际上我想检查数组中是否有任何对象 nm 中有一个具有相同 ID 的对应对象我宁愿避免嵌套循环。

最佳答案

PHP 也有一个数组过滤功能,它(出于显而易见的原因)被称为 array_filter()并用匿名函数做你想做的事。

function findAllWithId($objects, $id) {
return array_filter($objects, function($toCheck) use ($id) {
return $toCheck->id == $id;
});
}

关于PHP 检查数组中是否存在具有属性的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35663161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com