Предупреждение: недопустимый параметр смещения строки в файле php

Эта ошибка появляется в файле index.php

Предупреждение: Недопустимое смещение строки 'id' Предупреждение: Неверное смещение строки 'std'

<?php global $options; foreach ($options as $value) { if (get_settings( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; } else { $$value['id'] = get_settings( $value['id'] ); } } 

эта проблема возникает при попытке загрузить новую тему в WordPress …

Для следующих двух вещей:

 $value['id'] $value['std'] 

переменная $value – это не массив, а строка. А квадратные скобки – это подстрочный доступ. Поскольку строка пуста, вы получаете сообщение об ошибке.

Демо: http://codepad.org/UDMtuO2x

[] Связывается сильнее, чем $$, т. Е. Php сначала оценивает $value['id'] а затем будет использовать это значение как имя / идентификатор переменной.
Используйте фигурные скобки для изменения приоритета.

 <?php $array = array('id'=>123); $value = 'array'; echo ${$value}['id']; 

отпечатки 123 .

Его трудно сказать, если мы не знаем шаблон, который имеет $options . Пытаться

$value->id вместо $value["id"]