2017-01-05 4 views
0

я получить объект из JSON, как этогоPHP имя объекта из вара

{"valid":"yes","date":"2017-01-04","data-val":{"current":25}} 

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

$johndoe = 'current'; 

, но я не называть его, как это:

$currentjohn = $data['data-val'][$johndoe]; 

неудачу

$currentjohn = $data['data-val']['.$johndoe.']; 

также не

$currentjohn = $data['data-val']->$johndoe; 

неудачу слишком

как сделать это правильный путь или , как получить «текущий», если я не знаю, что имя ключа является текущим

благодарю вас за помощь

+2

Вы декодируете ** json_decode ($ json) ** ?? –

+0

@krunal: да, сэр я его декодировал – imunisasi

ответ

1

В качестве объекта синтаксис:

$data->{'data-val'}->$johndoe; 

(фигурные скобки должны использоваться из-за дефиса в названии. Это объект, а не массив)

Демонстрация:. https://eval.in/709782

как массив:

$data['data-val'][$johndoe]; 

Демонстрация: https://eval.in/709784

Переменная в одинарных кавычках не быть переменной и вы не можете конкатенатироваться в кавычках. Таким образом:

$currentjohn = $data['data-val']['.$johndoe.']; 

имеет пару вопросов.

+0

спасибо за ваш пример, теперь я понимаю это – imunisasi

Смежные вопросы