неопределенное смещение, даже если оно определено - PullRequest
0 голосов
/ 05 ноября 2018
$a = array("rob", "kate", "alex", "nick");
$q = (isset($_REQUEST["q"]) ? $_REQUEST["q"] : null);
$arr =  explode(".", $q);

$output = array();
foreach ($a as &$value) {
    if (substr($value, 0, strlen($arr[1])) === $arr[1])

Я получаю неопределенную ошибку смещения внутри этой части кода:

($arr[1])) === $arr[1])

Оба $arr[1], хотя я их и определил.

Почему я до сих пор получаю это сообщение?

Сообщение об ошибке:

Примечание: неопределенное смещение: 1 в D: \ domain.php в строке 10

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете проверить, является ли $arr массивом, прежде чем использовать его

$a = array("rob", "kate", "alex", "nick");
$q = (isset($_REQUEST["q"]) ? $_REQUEST["q"] : null);
$arr =  explode(".", $q);

$output = array();
foreach ($a as &$value) {
    if (isset($arr[1]) && substr($value, 0, strlen($arr[1])) === $arr[1]);
...