PHP: получить один ключ от объекта - PullRequest
8 голосов
/ 05 августа 2010

У меня есть объект с одним ключом и его значением. Но я не знаю ключ для доступа к нему. Какой самый эффективный способ получить ключ без перечисления объекта?

Ответы [ 3 ]

23 голосов
/ 05 августа 2010

Если вы просто хотите получить доступ к значению , вам вообще не нужен ключ (на самом деле имя свойства ):

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

Если выдействительно хотите имя свойства , попробуйте это:

$key = key((array)$object);
4 голосов
/ 05 августа 2010

Вы можете привести объект к массиву следующим образом:

$myarray = (array)$myobject;

И затем, для массива, который имеет только одно значение, он должен получить ключ для этого значения.

$value = key($myarray);

Вы могли бы сделать оба в одной строке, если хотите. Конечно, вы также можете сделать это, перечислив объект, как вы упомянули в своем вопросе.

Чтобы получить значение, а не ключ, тогда:

$value = current($myarray);
3 голосов
/ 05 августа 2010
$array = array("foo" => "bar");

$keys = array_keys($array);

echo $keys[0];

// Output: foo

См .: http://php.net/manual/en/function.array-keys.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...