PHP“永久变量”

时间:2012-01-26 14:47:03

标签: php variables global-variables permanent

我目前正在使用WordPress插件。 当调用短代码时,它支持短代码并创建DOM元素。

现在我的问题: 我想确定这些元素。

因此,当第一次调用短代码时,应该返回类似

的内容
<div class="myClass-0"></div>

第二次调用时

<div class="myClass-1"></div>

等等。

关于这个问题的任何想法? 谢谢你的帮助

儒略。

3 个答案:

答案 0 :(得分:6)

您可以使用static variable。静态变量全局保存其值,并在函数调用之间保留:

function doSomething() {
    static $i = 0;
    ##############

    return $i++;
}

doSomething(); // 0
doSomething(); // 1

Here's a demo.当然,它也适用于类方法,但根据情况你可能最好使用实例变量。

答案 1 :(得分:0)

如果您需要在不同的请求之间,php中没有永久变量您应该使用会话或数据库来满足此要求。

答案 2 :(得分:-1)

你的任何想法都不适合我。

WordPress似乎删除了所有静态和非staitc变量。 和会话变量。

现在我有了一个新想法并使用随机数修复了这个问题。 我写了这个函数:

function jw_rand($length)
{
    $return = "";
    for($a = 0; $a < $length; $a++)
    {
        $return .= mt_rand(0,9);
    }
    return $return;
}

然后我通过<?php echo("<div class=\"myClass-".jw_rand(5)."\"></div>"); ?>

来调用它

这不算我的课......但至少我可以识别div。 而且我认为这个函数的两个相同结果的可能性很高。

感谢您的帮助。 也许一些WordPress专家可以回答我的问题,解释插件和短代码集成如何工作以及为什么变量在调用插件一次后消失。

电贺 儒略