PHP:从对象获取单个密钥

Pab*_*blo 8 php object

我有一个具有单个键及其值的对象.但我不知道访问它的关键.在不枚举对象的情况下获取密钥的最有效方法是什么?

dec*_*eze 24

如果您只想访问该值,则根本不需要密钥(实际上是属性名称):

$value = current((array)$object);
Run Code Online (Sandbox Code Playgroud)

如果您真的想要属性名称,请尝试以下方法:

$key = key((array)$object);
Run Code Online (Sandbox Code Playgroud)


gpm*_*dam 5

$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


tho*_*ter 5

您可以将对象转换为这样的数组:

$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)