当前位置:  开发笔记 > 编程语言 > 正文

PHP静态变量未按预期工作

如何解决《PHP静态变量未按预期工作》经验,为你挑选了1个好方法。

这个例子来自php.net:


这是我的代码:

function getNextQuestionID()
{
    static $idx = 0;
    return $idx++;
}

我在JavaScript中使用它:

'quizID=' + ""

每次返回0.为什么?



1> 小智..:

我相信你误解了静态变量的作用.试试这个代码你可能会更好地理解:

echo getNextQuestionID() . ", " getNextQuestionID() . ", " getNextQuestionID();

你会明白我的意思.

只要脚本有效,静态var就会存在.

它在第一次运行而不是1时返回0的原因是因为您使用的是后缀运算符$ var ++而不是前缀版本 - ++ $ var.不同之处在于,仅在函数返回后使用后缀运算符时才应用增量 - 但如果使用前缀运算符,则在函数返回之前应用它.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有