从变量调用函数(PHP)

时间:2013-04-16 16:28:10

标签: php html function variables

我有一个我作为学校项目制作的网站,看来我已经跳得太深了。我正在使用PHP为每个数组对象创建一个页面。在每个页面中,我想个性化内容以匹配页面。例如,我有一个名为Darryl的页面,它将包含我的所有图像。将创建其他页面,并根据页面动态创建这些页面的内容。

我要做的是使用PHP更改img src并使用计数器弹出不同的图像。这对我来说难以解释。

我有这行html代码,其中包含php(确定显示哪些图像:

 <td><img style="width:11em;" class="magnify" src="<?php print $imgSrc; ?>"/><br><?php print $pageName; ?></td>

我遇到问题的部分是“print $ imgSrc;”部分。这是我的php将创建src路径的区域。它使用此变量$ imgSrc来获取正确的路径。

该变量是:

 $imgSrc = "images"."/".$pageName."/".counter();

写哪个

1 个答案:

答案 0 :(得分:1)

看起来你对功能是什么或者执行时感到困惑。如果这是您在页面上的所有代码:

$imgSrc = "images"."/".$pageName."/".counter();
<td>
    <img style="width:11em;" class="magnify" src="<?php print $imgSrc; ?>"/><br>
    <?php print $pageName; ?>
</td>

然后$imgSrc只写一次。所以无论counter()做什么,它只会做一次。你可以把整个东西包裹在for循环中,然后用counter()调用。您可以删除$imageSrc的局部变量并动态定义属性,如下所示:

<td>
    <img style="width:11em;" class="magnify" src="<?php print "images"."/".$pageName."/".counter(); ?>"/><br>
    <?php print $pageName; ?>
</td>

然后,如果counter()函数本身就是有状态的(就像在每次调用它时它会返回一个不同的值),那么你就完全了。

您可以创建如下的有状态函数:

$counter_var = 0;

function counter() {
    global $counter_var;
    return $counter_var++;
}

但是全局化是不受欢迎的,因为创造难以追踪的副作用(以及其他原因)。大多数人会告诉你使用for循环。我只提到它,因为它看起来更接近你在原始代码中尝试做的事情。