PHP:从对象获取单个密钥

时间:2010-08-05 03:16:32

标签: php object

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

3 个答案:

答案 0 :(得分:23)

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

$value = current((array)$object);

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

$key = key((array)$object);

答案 1 :(得分:4)

您可以将对象强制转换为如下数组:

$myarray = (array)$myobject;

然后,对于只有一个值的数组,这应该获取该值的键。

$value = key($myarray);

如果你愿意,你可以在一行中同时做这两件事。当然,您也可以通过枚举对象来实现,就像您在问题中提到的那样。

要获取值而不是键,那么:

$value = current($myarray);

答案 2 :(得分:3)

$array = array("foo" => "bar");

$keys = array_keys($array);

echo $keys[0];

// Output: foo

请参阅:http://php.net/manual/en/function.array-keys.php