注意:未定义的偏移:在PHP中为2

时间:2014-02-12 11:33:52

标签: php

如何解决我的php错误提示:未定义的偏移量:2? 有我的代码:

    <?php
    $currentFile = $_SERVER["PHP_SELF"];
    $parts = Explode('/', $currentFile);
    $parts['2'];
    if ($parts['2'] == "index.php") {
        ?>
    <?php } if ($parts['2'] != "index.php") { ?>
    <?php } //die("desffd");  ?>

感谢您的帮助!

4 个答案:

答案 0 :(得分:2)

数组索引从0开始,因此假设网址类似/index.php,则索引应为$parts[1]

EG:

$_SERVER["PHP_SELF"]

/index.php/Arg1/Arg2

0: Domain (value before delim - usually null)
/: Deliminator
1: index.php
/: Deliminator
2: Arg1
/: Deliminator
3: Arg2

答案 1 :(得分:0)

删除引号:

if ($parts[2] == "index.php")

答案 2 :(得分:0)

您正尝试通过指定整数的数组索引来访问该变量。因此,不需要在索引中包含引号,也可以使用isset()检查是否设置了要访问的数组索引。

尝试

if(isset($parts[2]))
{
if ($parts[2] == "index.php") {
        ?>
    <?php } else { ?>
    <?php } 
}

答案 3 :(得分:0)

如果您需要文件名,最佳选项应为basename

$filename = basename($_SERVER["PHP_SELF"]);
if ($filename == 'index.php') {
   // ...
}