【问题标题】:unset keyword gets underlined like there is an syntax errorunset 关键字得到下划线,就像存在语法错误一样
【发布时间】:2011-01-03 06:04:42
【问题描述】:

我有这个简单的循环:

for($i=$_POST['position'];$i<count($myFiles);$i++)
{
    $withoutNumber = explode("_",$myFiles[$i]);
    $noNr = unset($withoutNumber[0]);
}

我的代码编辑器是 Aptana,问题是,当我编写此代码时,我得到了带有下划线的 unset 关键字,就像语法错误一样,我不知道为什么会发生这种情况。我现在无法测试代码(这个循环是复杂代码的一部分)所以我真的不知道问题是否真实。可能是什么问题?

【问题讨论】:

    标签: php aptana unset error-detection


    【解决方案1】:

    如果你尝试执行它,你的代码部分会给出:

    Parse error: syntax error, unexpected T_UNSET
    

    这意味着问题出在您的代码中,而不是您的编辑器;-)


    考虑到unset 没有返回任何东西,你应该有:

    for($i=$_POST['position'];$i<count($myFiles);$i++)
    {
        $withoutNumber = explode("_",$myFiles[$i]);
        unset($withoutNumber[0]);
    }
    

    哪个效果更好:不再出现解析错误。

    而且我认为 Aptana“知道”这种语言结构不应该返回任何东西——这就是它表明存在错误的原因。

    【讨论】:

    • 完全正确 :D 我承认这是一个愚蠢的问题 :) 我非常关注带下划线的未设置,以至于我忘记了变量分配 :) 谢谢大家
    • 不客气 :-)(boah,没问题 ^^ 至少你会学到一些东西 ;-))
    【解决方案2】:

    unset 是一种语言结构,不是普通函数,因此不能用于设置变量。见unset()

    注意:因为这是一个语言结构,而不是一个函数......

    【讨论】:

    • 注释说你不能做类似$fn='unset'; $fn($v);的事情
    • 我引用这个来强调它不是一个常规函数的事实。我会删除误导性的部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 2013-02-03
    相关资源
    最近更新 更多