Intereting Posts
Функция вызова spl_autoload_register с параметрами Отправьте электронное письмо с помощью SMTP-сервера GMail со страницы PHP регулярное выражение для французских символов Объект не уничтожается до конца скрипта, если он регистрирует spl_autoload_register (); Вставить Blobs в базы данных MySql с помощью php Загрузка файла повреждена загрузка php-страницы с помощью класса в javascript PHP – содержимое массива lookup с синтаксисом точки Отключить одно значение параметра внутри тега select, не работающего в IE6Ha Получите подсчет недавно опубликованного продукта (сегодня) в WooCommerce codeigniter: почему это происходит, когда i echo base_url () в атрибуте href тега привязки, он повторяет два раза Создайте всплывающее меню с родительскими элементами PHP Несколько одновременных сеансов на пользователя Множественная загрузка изображения с PHP, сохраняющая только один путь к базе данных MySQL Неустранимая ошибка: класс «ZipArchive» не найден в

Как исправить ошибку PHP Strict «Создание объекта по умолчанию из пустого значения»?

У меня есть следующий код PHP5:

$request = NULL; $request->{"header"}->{"sessionid"} = $_SESSION['testSession']; $request->{"header"}->{"type"} = "request"; 

Строки 2 и 3 вызывают следующую ошибку:

PHP Строгие стандарты: создание объекта по умолчанию из пустого значения

Как я могу исправить эту ошибку?

Solutions Collecting From Web of "Как исправить ошибку PHP Strict «Создание объекта по умолчанию из пустого значения»?"

Null не является объектом, поэтому вы не можете присваивать ему значения. Из того, что вы делаете, похоже, вам нужен ассоциативный массив . Если вы мертвы при использовании объектов, вы можете использовать stdClass

 //using arrays $request = array(); $request["header"]["sessionid"] = $_SESSION['testSession']; $request["header"]["type"] = "request"; //using stdClass $request = new stdClass(); $request->header = new stdClass(); $request->header->sessionid = $_SESSION['testSession']; $request->header->type = "request"; 

Я бы рекомендовал использовать массивы, поскольку это более аккуратный синтаксис с (возможно) той же базовой реализацией.

Избавьтесь от $ request = NULL и замените на:

 $request = new stdClass; $request->header = new stdClass; 

Вы пытаетесь написать NULL вместо фактического объекта.

Чтобы подавить ошибку:

 error_reporting(0); 

Чтобы исправить ошибку:

 $request = new stdClass(); 

НТН

Не пытайтесь установить атрибуты на нулевое значение? Вместо этого используйте ассоциативный массив.