如果某个图像正在显示,则显示某些文本PHP
问题描述:
我需要某段文字才能显示是否显示某个图像。如果某个图像正在显示,则显示某些文本PHP
目前我有本作的随机背景图片:
<?php
// Time to do all the background stuffs
$bg = array('01.jpg', '02.jpg', '04.jpg', '970.jpg', '294.jpg', '096.jpg', '05.jpg', '08.jpg', '011.jpg', '012.jpg', '035.jpg', '045.jpg', '049.jpg', '066.jpg', '079.jpg', '096.jpg', '106.jpg', '173.jpg', '178.jpg', '205.jpg', '372.jpg', '500.jpg', '513.jpg', '682.jpg', '714.jpg', '860.jpg', '895.jpg', '914.jpg', '939.jpg', '966.jpg', '1025.jpg', '1074.jpg', '1123.jpg', '1162.jpg', '1499.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">
@import 'https://fonts.googleapis.com/css?family=Yatra+One';
body{
background: #000000 url(images/<?php echo $selectedBg; ?>) no-repeat;
background-position: center;
}
</style>
这是做后台背景和CSS,然后我需要根据图像显示多个报价。
任何帮助表示赞赏
干杯汤姆
答
由于每个报价取决于图像 - 你应该重建阵列:密钥必须是文件名和值的报价。在此之后,你可以这样做:
// Time to do all the background stuffs
$bg = array(
'01.jpg' => 'I have a dream',
'02.jpg' => 'Don\'t ask yourself',
'04.jpg' => 'Bond. James Bond',
// more
);
$rand_key = array_rand($bg);
$rand_quote = $bg[$rand_key];
echo $rand_key, $rand_quote;
答
解决方法一:
您需要创建一个数组作为键值对,这样就可以与文本一起commbine图像。
语法:
array(
key => value,
key2 => value2,
key3 => value3,
...
)
最后一个数组元素后的逗号是可选的并且可以省略。这通常是为单行数组完成的,即数组(1,2)优于数组(1,2)。另一方面,对于多行数组,通常使用尾随逗号,因为它最终可以更容易地添加新元素。
$image_text = array("light.png" => "Alternative Text for light.png", ...);
而在显示部分,您可以像这样显示数据。
<?php
echo $image_text[$alt_text];
?>
解决方法二:
一样聪明像你一样对bg
可以给出的变量的名称为alt
,你可以提供数组中的名字,你可以在img标签打印你已经使用过。
Exapmle:
$alt=array('lilly','rose','apple');
随着你的风格给了你可以加入这一行到该div的背景图片。
<body>
<?php echo $alt[1]; ?>
</body>
如果未显示bg
图像,则会显示alt。
答
也许你应该添加另一个数组:
$bgText = array("01.jpg" => "text you wanna display when 01.jpg is selected", ...);
在要显示的文字
然后:
<?= $bgText[$selectedBg] ?>
因此,创建报价的数组,做同样的 –
@u_mulder我如何确保它是否与正确的图像同步? –
您使用相同的索引'$ i'或关联数组。 – andreas