注意:未定义的偏移量:第5行的C:\ xampp \ htdocs \ index.php中为1

时间:2014-02-03 15:09:45

标签: php html5

这是我的PHP代码,我搜索了解决方案,但即使添加var_dump($request);后,我也收到了相同的通知< Notice: Undefined offset: 1 in C:\xampp\htdocs\index.php on line 5>。

的index.php

<?php 
$rd = dirname(__FILE__);
$request[]='';
var_dump($request);
if ($request[1] == '')
  {
        $request[1] = 'header';
    include($rd.'/php_includes/'.$request[1].'.php');
  }


if ($request[0] == '')
  {
    $request[0] = 'index';
    include($rd.'/php_includes/'.$request[0].'.php');
  }

?>

你可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

最初,$request不存在。您使用$request=[]''添加一个元素,因此现在设置了$request[0]。此后不久,您引用$request[1]而不首先定义它。没有$request[1],这就是您收到此通知的原因。

你检查它是否有值的行,并因为未设置而抛出通知,是这一行:

if ($request[1] == '')

如果你想在没有发出通知的情况下查看它是否为空,请使用:

if (empty($request[1]))

如果未设置TRUE,设置为$request[1],为空或0,则返回NULL;所以它应该在没有发出通知的情况下完成你想要做的事情。

答案 1 :(得分:1)

您收到错误是因为您未设置时调用$ request [1]。 如果您希望将$ request声明为空数组,请执行以下操作:

$request = array();

如果你想检查它是否已设置或为空

if (!isset($request[1]) || empty($request[1]))
{
    //your code here in case of not existing or being empty
}

$request[] = ''; // adds a value to the next key - they are autogenerated from 0 as int 0 1 2 3 4 5 6 and so on, if you don't declare them otherwise