dec*_*eze 24
如果您只想访问该值,则根本不需要密钥(实际上是属性名称):
$value = current((array)$object);
Run Code Online (Sandbox Code Playgroud)
如果您真的想要属性名称,请尝试以下方法:
$key = key((array)$object);
Run Code Online (Sandbox Code Playgroud)
$array = array("foo" => "bar");
$keys = array_keys($array);
echo $keys[0];
// Output: foo
Run Code Online (Sandbox Code Playgroud)
See: http://php.net/manual/en/function.array-keys.php
您可以将对象转换为这样的数组:
$myarray = (array)$myobject;
Run Code Online (Sandbox Code Playgroud)
然后,对于只有一个值的数组,这应该获取该值的键。
$value = key($myarray);
Run Code Online (Sandbox Code Playgroud)
如果愿意,您可以在一行中同时完成这两个操作。当然,您也可以通过枚举对象来做到这一点,就像您在问题中提到的那样。
要获取值而不是键,则:
$value = current($myarray);
Run Code Online (Sandbox Code Playgroud)