我有这样一个类:
stdClass Object
(
[id] => 1
[items] => stdClass Object
(
[0] => 123
[1] => 234
[2] => 345
[3] => 456
)
)
)
让我们调用上面的对象$foo
。
假设 $v = 234
。给定 $foo
和 $v
,如何返回“key”1
?
如果 $foo->items
是一个数组,我会简单地执行 $key = array_search($v,$foo->items);
。但这在对象中不起作用。
如何在不遍历某些 foreach
中的对象的情况下找到 $v
的键?
最佳答案
使用 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;
}
}
?>
输出:
Array
(
[id] => 1
[items] => Array
(
[0] => 123
[1] => 234
[2] => 345
[3] => 456
)
)
id
关于php - 如何从值中获取对象 "key"?是否有类似 array_search 的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12519115/