【发布时间】:2011-09-16 19:43:34
【问题描述】:
我正在尝试使用 PHP 关联数组将文本和图像的不同值回显到 HTML 中,以用于同一页面上 jQuery 幻灯片的不同实例。这是 HTML:
<div class='slide'>
<div class='mosaic-block fade'>
<div class='mosaic-overlay'>
<div class='text'><p>This is the text!</p></div>
</div>
<div class='mosaic-image'><img src='imgs/the-img.png'/></div>
</div> <!-- mosaic-block fade -->
</div> <!-- .slide --> `
我为每种类型的幻灯片编写了数组,其中包含每张幻灯片的文本和图像,以下是示例:
$my_content = array(
'image1.png' => 'image1 text!',
'image2.png' => 'image2 text!'
);
然后我写了一个带有参数的函数,用于幻灯片的类别和内容:
function gallery_content($content) {
foreach ( $content as $img => $txt ) {
echo "<div class='slide'>
<div class='mosaic-block fade'>
<div class='mosaic-overlay'>
<div class='text'><p>".$txt."</p></div></div>
<div class='mosaic-image'><img src='imgs/other/".$img."'/></div>
</div> <!-- mosaic-block fade -->
</div> <!-- .slide --> ";
}
我这样称呼它:gallery_content($my_content);,它运行得非常好。但是当我尝试为另一组值再次调用它时,似乎只有第一个实例有效。我尝试直接使用数组而不是变量作为参数,并为每个幻灯片制作一个单独的函数,但仍然得到相同的结果。
为什么不能多次调用函数?提前致谢。
【问题讨论】:
-
第二次调用是什么行为?
-
似乎工作:codepad.org/ZWhRPYPJ
-
您确定这是 PHP 问题而不是 jQuery 问题吗?尝试创建一个普通的 html 文件并手动将一些图像的数据输入到 jQuery 幻灯片的两个实例中 - 是否有效?
-
您可能在此处编写的函数中错过了最后一个右大括号,但我想这不是您问题的原因。
-
调用
gallery_content(array("1.png" => "One", ...))时是否只处理第一个元素?
标签: php foreach associative-array