#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] неопределен.
Комментариев нет:
Отправить комментарий