检查项目的类数组的最快方法?

时间:2014-03-10 10:00:59

标签: php

我有一个有价值观的课程:

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [val] => one
        )
    [1] => stdClass Object
        (
            [id] => 2
            [val] => two
        )
    [2] => stdClass Object
        (
            [id] => 3
            [val] => three
        )
)

搜索此数组以查看是否存在id = 2的项目的最快方法是什么?我知道这会奏效:

$hasTwo = false;
foreach ($arrayItems as $arrayItem) {
    if ($arrayItem->id == 2) {
        $hasTwo = true;
        break;
    }
}

if ($hasTwo) {
    // do what I wanted to do...
}

是否有更简单的方法需要更少的代码才能做到这一点?

1 个答案:

答案 0 :(得分:0)

也许

$hasTwo = array_filter(
    $arrayItems,
    function($value) {
        return $value->id == 2;
    }
);

但你需要测试哪个更快,答案可能就是你的原始代码