【问题标题】:Need to add links to a php random image script需要添加指向 php 随机图像脚本的链接
【发布时间】:2013-05-23 05:46:06
【问题描述】:

您好,我有一个脚本为我的网站随机显示 5 张图片,但我需要为每张图片提供不同的链接。我有一个朋友帮助我编写代码,因为我对 php 非常陌生,所以任何人都可以给我的任何帮助都会很棒!我在原始代码中加载了更多图像,但我认为没有必要将它们全部放在这里。

这是我的代码

<?php
    $images=array( // list of files to rotate - add as needed    
     "images/Austin-Mahone-2.jpg",
     "images/Boys-Like-Girls-1.jpg",   
     "images/Boys-Like-Girls-2.jpg",
     "images/Boys-Like-Girls-3.jpg",   
     "images/It-Boys-5.jpg" ); 
    shuffle($images);

    echo '<div class="images">';
    $i = 0;
    while($i < 5){
        echo '<img src="'.$images[$i].'" />';
        $i++;
    }
    echo '</div>';
?>

【问题讨论】:

  • 呃,你有什么问题?
  • 我需要给每张图片一个指向另一个页面的唯一链接
  • 你的图片数组需要是一个关联数组,对应的url
  • 你为什么不能试试这个? echo '';
  • 您要链接到哪些页面?

标签: php image random hyperlink


【解决方案1】:

已注释的关联数组方法。

<?php
$images = array(
    array("src" => "images/Austin-Mahone-2.jpg", "url" => "http://URL1"),
    array("src" => "images/Boys-Like-Girls-1.jpg", "url" => "http://URL2"),  
    array("src" => "images/Boys-Like-Girls-2.jpg", "url" => "http://URL3"),
    array("src" => "images/Boys-Like-Girls-3.jpg", "url" => "http://URL4"),  
    array("src" => "images/It-Boys-5.jpg", "url" => "http://URL15")
); 

shuffle($images);

echo '<div class="images">';

foreach ($images as $image) {

    echo '<a href="'.$image["url"].'"><img src="'.$image["src"].'" /></a>';

}

echo '</div>';

?>

【讨论】:

    【解决方案2】:

    创建一个链接数组,并将它们与您的图像结合起来。然后你可以做一个简单的foreach 循环来输出它们:

    $links = array('link1', 'link2', 'link3'); // etc.
    $combined = array_combine($links, $images);
    
    foreach ($combined as $link => $image) {
      echo '<a href="' . $link . '"><img src="' . $image . '" /></a>';
    }
    

    如果每个图像每次都必须有相同的链接,您可以创建一个关联数组,如下所示:

    $images = array(
      'http://www.google.com' => 'Google',
      'http://www.bing.com' => 'Bing',
      'http://www.yahoo.com' => 'Yahoo'
    );
    

    ..并以与上述相同的方式循环:

    foreach ($images as $link => $image) { 
      ... 
    } 
    

    【讨论】:

      【解决方案3】:

      试试 PHP 关联数组:

      <?php
      $images=array(
         array(
           "image" => "images/Austin-Mahone-2.jpg",
           "link" => "http://yourlink1.com"
         ),
         array(
           "image" => "images/Boys-Like-Girls-1.jpg",
           "link" => "http://yourlink2.com"
         ),
         array(
           "image" => "images/Boys-Like-Girls-2.jpg",
           "link" => "http://yourlink3.com"
         )
       ); 
      
      shuffle($images);
      
      echo '<div class="images">';
      $i = 0;
      while($i < 5){
          echo '<a href="'.$images[$i]['link'].'"><img src="'.$images[$i]['image'].'" /></a>';
          $i++;
      }
      echo '</div>';
      ?>
      

      这样,您的数组 $images 包含 X 个关联数组,每个数组都包含 ['image']['link'] 值。

      在此处阅读有关这些数组(和其他)的更多信息:http://www.w3schools.com/php/php_arrays.asp

      【讨论】:

        猜你喜欢
        • 2011-07-14
        • 2016-06-21
        • 2014-10-18
        • 2012-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-17
        相关资源
        最近更新 更多