#php
Вот код:
$word[$i]=str_replace("*", ", ", $word[$i]);
$part=explode("=", $word[$i]);
$part1=str_replace("|", " ", $part[0]);
$part2=str_replace("|", " ", $part[1]);
При его выполнении, если в $word содержится выражения типа:
[674237234092340234-42348437436::?(*)(_):;№! " " %)(_)]{^%#$@##$^^&*(&~@GVY()(*)(IOU}
То возникает ошибка
PHP Notice: Undefined offset: 1 in...
которая указывает на строку:
$part2=str_replace("|", " ", $part[1]);
Собственно, как исправить ошибку?
UPD:
Если в $word содержится: "В данной строке ($word) отсутствует знак", то ошибки не
возникает, хотя там нет знака =.
Ответы
Ответ 1
В данной строке ($word) отсутствует знак =, поэтому после explode в массиве $part у вас есть только значение с 0 ключом и выражением $part2=str_replace("|", " ", $part[1]);. Вы пытаетесь обратиться к элементу с индексом 1, которого не существует, вот и ошибка.Ответ 2
У тебя в строке [674237234092340234-42348437436::?(*)(_):;№! " " %)(_)]{^%#$@##$^^&*(&~@GVY()(*)(IOU} нет "=", а потому explode("=", $word[$i]); вернет массив с одним элементом, а следовательно $part[1] неопределен.
Комментариев нет:
Отправить комментарий