Я заметил, что на php с помощью JSON lib мы можем получить доступ к элементу с синтаксисом, который я раньше не видел.
$jsonObject->{'myvar'}; // return the value of myvar on the jsonobject
Как это работает?
Я заметил, что на php с помощью JSON lib мы можем получить доступ к элементу с синтаксисом, который я раньше не видел.
$jsonObject->{'myvar'}; // return the value of myvar on the jsonobject
Как это работает?
Я не думаю, что это присуще JSON lib.
Это просто еще один способ определить имя переменной, которую вы хотите вызвать. Например, это полезно, когда вы хотите динамически решать, какую переменную следует вызывать, что очень полезно в магических методах.
$var->{"var_name"}
является эквивалентом $var->var_name
.
Вы можете делать такие вещи, как хорошо:
$key = "key_name";
var_dump($object->{$key});
Вы можете также ключи доступа с недействительных символы, такие как точки или запятой.
$key = "key.name.nice";
var_dump($object->{$key});
Насколько я знаю, он работает с каждым свойством 'stdclass object' или, проще говоря, любым свойством' object'. Обычно вы собираетесь использовать такой синтаксис, когда у вас есть пробелы в именах переменных или что-то в этом роде, например: '$ object -> {" hello world "};' – briosheje
какую информацию вы ищете с помощью «как это реализованы?» вы хотите понять код, который его управляет, или вам нужна документация по этой конкретной функции? – zzzzBov
Часто индексы json могут иметь пробелы, поэтому использование '{}' позволяет вам получить доступ к данным, иначе '$ object-> мой индекс' не будет работать, но' $ object -> {'my index'} 'будет работать – Matt