2017-01-03 8 views
1

я нелегальную строку смещения предупреждение из массива внутри, если операторPHP Нелегальная строка Смещение Предупреждение о массиве

411. if (is_array($attrib['affixes'])) { // merge 
412.  $new_affix = array_merge($attrib['affixes'], $new_affix); 
413. } 

Точно предупреждение

"Warning: Illegal string offset 'affixes' in C:\xampp\htdocs\pengakar-master\src\Pengakar.php on line 411"

вставить полный код ниже:

http://ideone.com/QQEdCu

Другая часть в порядке. Только та часть, которая принимает ошибку

Спасибо за помощь.

+0

Сначала проверьте, что '$ attrib' массив содержит элемент с ключом' affixes' через ['isset()') (http://php.net/manual/en/function.isset.php) или ['array_key_exists()'] (http://php.net/manual/en/function .array-ключ-exists.php). – Timurib

ответ

2

Неверное смещение означает, что индекс, на который вы ссылаетесь, не существует. Итак, в этом случае индекс аффиксов массива никогда не определяется. Чтобы предотвратить ошибку, изменить код следующим образом:

if (isset($attrib['affixes']) && is_array($attrib['affixes'])) { // merge 
    $new_affix = array_merge($attrib['affixes'], $new_affix); 
} 

Посмотрите здесь для получения дополнительной информации об ошибке: Illegal string offset Warning PHP

 Смежные вопросы

  • Нет связанных вопросов^_^