最简单的方法是拥有一个带有链接的图像数组,然后将 $single 作为数组索引。有两种方法可以做到这一点。一种是有一个包含链接和图像的二维数组,另一种是有两个平行数组。以下是两个选项的说明:
<?php
// one two dimensional array
$ads = array( array("1.png", "/page1"), array("2.png", "/page2"), array("3.png", "/page3"), array("4.png", "/page4"), array("super-special-buy-now.png", "/billy-mays-lives") );
// or two one dimensions arrays
$ads_images = array("1.png", "2.png", "3.png", "4.png", "super-special-buy-now.png");
$ads_links = array("/page1", "/page2", "/page3", "/page4", "/billy-mays-lives");
// now your code
$totalImages = 5;
$all = range(1,$totalImages);
shuffle($all);
$html = "";
foreach ($all as $single) {
// option 1, two dimensional array
$html += sprintf('<li><a href="%s"><img src="%s/images/ads/ad_0%s" alt="ad" /></li>',
$ads[$single][1], bloginfo('template_url'), $ads[$single][0]);
// option 2, two parallel arrays
$html += sprintf('<li><a href="%s"><img src="%s/images/ads/ad_0%s" alt="ad" /></li>',
$ads_links[$single], bloginfo('template_url'), $ads_images[$single]);
}
echo $html;
?>