如何使用 in_array php 函数在 std 对象数组(对象数组)中搜索?

Nul*_*ter 1 php arrayobject

我有以下 std 对象数组

Array
(
    [0] => stdClass Object
        (
            [id] => 545
        )

    [1] => stdClass Object
        (
            [id] => 548
        )

    [2] => stdClass Object
        (
            [id] => 550
        )

    [3] => stdClass Object
        (
            [id] => 552
        )

    [4] => stdClass Object
        (
            [id] => 554
        )

)
Run Code Online (Sandbox Code Playgroud)

我想使用循环搜索[id]键的值。我有以下条件来检查值是否存在,如下所示

$flag = 1;
if(!in_array($value->id, ???)) {
    $flag = 0;
}
Run Code Online (Sandbox Code Playgroud)

我想???在 std 对象的[id]键数组中搜索。

有人可以帮助我吗?

Ja͢*_*͢ck 5

如果数组不太大或者需要多次执行测试,您可以映射数组中的属性:

$ids = array_map(function($item) {
    return $item->id;
}, $array);
Run Code Online (Sandbox Code Playgroud)

进而:

if (!in_array($value->id, $ids)) { ... }
Run Code Online (Sandbox Code Playgroud)