Intereting Posts
Отображение типов SoapClient PHP ведет себя по-разному Как запомнить опубликованные поля в формах для выпадающих элементов? Laravel – Использование шаблона репозитория PHP-файл Загрузка и загрузка без использования file_get_contents проверьте, имеет ли массив одно или несколько пустых значений PHPMailer: использование удаленного SMTP-сервера работает под локальным хостом, соединение отклонено (111) на удаленном сервере PHP: автоматическое сохранение динамического PDF-файла на удаленном сервере с использованием DOMPDF Гидратация вложенных массивов Doctrine PHP Создание модальной отдельной логики из html / view Не удалось отправить запрос CORS POST с помощью jQuery Как я могу рекурсивно получить «родительский идентификатор» строк в этой таблице MySQL? Как разбирать этот JSON в PHP? Как удалить что-либо в строке после "-"? PHP Печать неопределенного дерева категорий отправить форму себе

Невозможно использовать для чтения

В одном из моих сценариев я пытаюсь сделать следующее

$data[] = self::get($row['sr_id']); // <-- line 55 

Однако PHP не позволяет мне это делать, давая мне эту ошибку

Неустранимая ошибка: нельзя использовать [] для чтения в файле /file.php в строке 55

Функция self::get возвращает либо bool, либо объект.

Изменить: функция get создает новый объект, который снова загружает данные из базы данных mysql.

Solutions Collecting From Web of "Невозможно использовать для чтения"

Старые версии PHP принимали $var[] в выражениях, позволяя читать содержимое $var вне зависимости от синтаксиса. PHP 5.1 сделал это незаконным. Но иногда ошибка запускается за пределами намеренного контекста.
Итак, моя догадка (еще раз: показать больше кода) заключается в том, что предыдущая строка содержит недоделанное выражение, к которому присоединяется $data[] .

В случае атрибута объекта вы можете обернуть ваш $ data var в { } , но это не похоже на проблему в вашем случае. (Иначе в строке 54 есть что-то, что вы не показывали.) Правая сторона не может разумно вызвать ошибку. Даже массив, получающий доступ к [] целому числу или объекту, не инициировал бы эту фатальную ошибку.

Поэтому, если ничего не помогает, просто используйте array_push() . Работайте над PHP.

Решение в моем случае состояло в следующем:

  • Плохая линия:

$this->$ExtraTag[] = $fullscript;

  • Хорошая линия:

$this->{$ExtraTag}[] = $fullscript;

или

$this->ExtraTag[] = $fullscript;

пытаться:

 $data = Array(); $data[] = self::get($row['sr_id']); // <-- line 55 

Я получил ошибку:

Неустранимая ошибка: нельзя использовать [] для чтения в /pathtosite/drupal/sites/all/themes/zenui/templates/page.tpl.php в строке 33

Иногда возникает проблема, когда вы включаете такую ​​строку:

 $page['sidebar_first'][] 

Это может произойти, если вы копируете имя переменной и забыли прокомментировать строку.

Существовали две проблемы:

1. Отсутствие точки с запятой

2. $ variable [] должна установить переменную

После исправления этих двух проблем мой код читал:

 $page['sidebar_first'][] = $value; 

Не забудьте прокомментировать строку, которую вы не используете, чтобы помочь в процессе отладки

Надеюсь, это поможет моим программистам, как я!

У меня была такая же проблема с моим скриптом, следующая строка пропустила ту же ошибку:

 $array[]=$value 

Я просто заменил его на

 $array[count($array)-1]=$value 

и он работал отлично.

Другая возможная проблема может быть случайным двойным == . Например, случайное выполнение $myArray[] == $myNewValue; приведет к этой ошибке (потому что вы пытаетесь прочитать значение с помощью == вместо того, чтобы сообщать PHP о назначении нового индекса массива).