如何从值中获取对象"键"?是否有类似于对象的array_search?

Rya*_*yan 4 php arrays key object

我有一个这样的课:

stdClass Object
(
    [id] => 1
    [items] => stdClass Object
        (
            [0] => 123
            [1] => 234
            [2] => 345
            [3] => 456
        )
    )
)
Run Code Online (Sandbox Code Playgroud)

我们来调用上面的对象$foo.

让我们说吧$v = 234.鉴于$foo和$v,我怎么能返回的"钥匙" 1?

如果$foo->items是一个数组我会简单地做$key = array_search($v,$foo->items);.但这不适用于某个对象.

如何在$v没有循环通过对象的情况下找到键foreach?

Dan*_* Li 5

使用get_object_vars并搜索返回的数组.

参考:http://php.net/manual/en/function.get-object-vars.php

这是一个如何搜索为键返回的数组的示例:

<?php
$foo = NULL;
$foo->id = 1;
$foo->items = array(123, 234, 345, 456);
$foo_array = get_object_vars($foo);
print_r($foo_array);

foreach ($foo_array as $key => $value) {
    if ($value == 1) {
        echo $key;
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [id] => 1
    [items] => Array
        (
            [0] => 123
            [1] => 234
            [2] => 345
            [3] => 456
        )

)
id
Run Code Online (Sandbox Code Playgroud)

CodePad:http://codepad.org/in4w94nG