猿问

PHP-从对象数组中按对象属性查找条目

该数组如下所示:


[0] => stdClass Object

        (

            [ID] => 420

            [name] => Mary

         )


[1] => stdClass Object

        (

            [ID] => 10957

            [name] => Blah

         )

...

我有一个名为的整数变量$v。


如何选择具有对象的数组条目,其中的ID属性具有$v值?


慕尼黑5688855
浏览 1419回答 3
3回答

婷婷同学_

您可以迭代数组,搜索特定记录(一次只能搜索一次),也可以使用另一个关联数组来构建哈希图。对于前者,像这样$item = null;foreach($array as $struct) {    if ($v == $struct->ID) {        $item = $struct;        break;    }}请参阅此问题和后续答案以获取有关后者的更多信息- 通过多个索引引用PHP数组

jeck猫

YurkamTim是正确的。它只需要修改:在function($)之后,您需要通过“ use(&$ searchedValue)”指向外部变量的指针,然后才能访问该外部变量。您也可以修改它。$neededObject = array_filter(    $arrayOfObjects,    function ($e) use (&$searchedValue) {        return $e->id == $searchedValue;    });

精慕HU

class ArrayUtils{    public static function objArraySearch($array, $index, $value)    {        foreach($array as $arrayInf) {            if($arrayInf->{$index} == $value) {                return $arrayInf;            }        }        return null;    }}以您想要的方式使用它会像:ArrayUtils::objArraySearch($array,'ID',$v);
随时随地看视频慕课网APP
我要回答