未定义的偏移,即使已定义

时间:2018-11-05 10:53:21

标签: php undefined offset

$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]的两个。

为什么我仍然收到此消息?

错误消息:

  

注意:未定义的偏移量:第10行D:\ domain.php中的1

1 个答案:

答案 0 :(得分:0)

您可以在使用$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]);