Документация указывает, что (object) null
приведет к пустующему объекту, некоторые могут сказать, что ваш код действителен и что этот метод используется.
Если значение любого другого типа преобразуется в объект, новый экземпляр встроенного класса stdClass создано. Если значение было NULL, новый экземпляр будет пустым.
.. но постарайтесь сохранить его в безопасности!
Хотя вы никогда не знаете, когда / если вышеизложенное изменится, поэтому, если вы хотите быть на 100% уверенным, что в ваших закодированных данных вы всегда будете иметь
{}
, вы можете использовать взломать, например:json_encode (json_decode ("{}"));
Несмотря на то, что это утомительно и уродливо, я предполагаю / надеюсь, что json_encode / json_decode совместим с одним и другим и всегда будет проверять следующее на true:
$a =
; $a === json_decode (json_encode ($a)); Рекомендуемый метод
json_decode ("{}")
вернет значениеstdClass
по умолчанию, используя приведенное ниже, поэтому следует считать безопасным. Хотя, как уже упоминалось, это почти то же самое, что и(object) null
.json_encode (new stdClass);