gpt4 book ai didi

PHP 静态变量未按预期工作

转载 作者:行者123 更新时间:2023-11-28 14:06:52 27 4
gpt4 key购买 nike

这个example来自 php.net:

<?php
function Test()
{
static $a = 0;
echo $a;
$a++;
}
?>

这是我的代码:

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

我在 JavaScript 中使用它:

'quizID=' + "<?php echo getNextQuestionID(); ?>"

每次都返回0。为什么?

最佳答案

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

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

你会明白我的意思。

静态变量的存在时间与脚本一样长。

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

关于PHP 静态变量未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/197112/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com