0

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

现在我的问题是:我想识别元素。

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

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

当它第二次被调用时

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

等等。

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

朱利安。

4

3 回答 3

6

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

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

    return $i++;
}

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

这是一个演示。当然,它也可以在类方法中工作,但根据具体情况,使用实例变量可能会更好。

于 2012-01-26T14:49:35.620 回答
0

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

于 2012-01-26T14:50:16.940 回答
-1

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

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

现在我有了一个新想法,并通过使用随机数解决了这个问题。我写了这个函数:

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 专业人士可以回答我的问题,解释插件和简码集成是如何工作的,以及为什么在调用插件一次后变量会消失。

问候朱利安

于 2012-01-27T15:38:27.193 回答