как получить ключ от объекта (stdClass) [ключ]? - PullRequest
0 голосов
/ 05 января 2019

Я хочу создать новую базу массива на объекте со структурой, подобной этой:

object(stdClass)[33]
  public 'IKSindividuList' => 
    array (size=6)
      0 => 
        object(stdClass)[27] // <---- i need to get the 27
          public 'indikator' => string 'nik' (length=3)
          public 'value' => string '123654789' (length=9)
      1 => 
        object(stdClass)[28]
          public 'indikator' => string 'name' (length=4)
          public 'value' => string 'afdikage' (length=8)

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

array(size=6)
27 => // and put the 27 as index number
   array(size=1)
     'nik' => '123654789'
28 => 
   array(size=1)
     'name' => 'afdikage'

Я понятия не имею, что это за число и как его получить. Может ли кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 06 января 2019
  1. Если вы используете XDebug, вы получите это в скобках, если вы этого не сделаете, это будет после хеша, как это object(stdClass)#1
  2. Это идентификатор объекта, на который вы не должны полагаться или заботиться в реальной жизни. Смотри: http://php.net/manual/en/language.oop5.references.php
  3. Вы можете получить идентификатор объекта, используя spl_object_id, но это кажется плохой идеей. Подумайте, если объект будет уничтожен, этот идентификатор может быть использован повторно, и у вас не будет никакого реального значения.

Вы также можете взглянуть на аналогичный вопрос SO Что такое # рядом с объектом (someClass) в var_dump объекта? У меня есть вывод. Я прав?

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