我正在使用下面的脚本在网站上创建随机背景图像。它有数组项并将它们附加到变量$ selectedBg。
isRunningInIE()
我想接受$ selectedBg中的内容,将其存储为全局变量,以便在我的wordpress isntallation中的其他.php文件中使用,并执行一个切换案例,为数组中的每个变量创建不同的输出。假设它是'background-1.jpg'作为$ selectedBg的值,那么我想输出文本。如果将'background-2.jpg'作为$ selectedBg的值,那么我想输出不同的文本,依此类推。
我如何编写检查$ selectedBg中存储内容的代码?我迷路了试图
<?php
$bg = array('background-1.jpg', 'background-2.jpg', 'background-3.jpg', 'background-4.jpg', 'background-5.jpg' ); // array of filenames
$i = rand(0, count($bg)-1); //generate random number size of the array
$selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen
?>
<style type="text/css">
body{
background: url(<?php bloginfo('template_url'); ?>/images/backgrounds/<?php echo $selectedBg; ?>) no-repeat;
}
</style>
或等效物。
我之所以将其设为全局,是因为我在header.php中有代码,但我需要查看页面上显示的背景类型以输出某些文本。如果是background-1.jpg我想要TEXT A;如果background-2.jpg我想要TEXT B;等
答案 0 :(得分:1)
从我在代码中看到的内容来看,$ selectedBg不是一个数组。
$i = rand(0, count($bg)-1); //generate random number size of the array
$selectedBg = "$bg[$i]";
$ bg [$ i]是一个字符串。
此外,&#34; $ bg [$ i]&#34;引号错了。应该是:
$selectedBg = $bg[$i];
你的switch case语法错误,应该是:
switch ($selectedBg) {
case 'background-1.jpg':
echo "whatever";
break;
}
也可以接受:
switch (true) {
case($selectedBg == 'background-1.jpg'):
echo "whatever";
break;
}
Switch(变量)匹配case(变量)。
上的PHP文档