帝国cms图集用字段对比方法输出排除过滤相同的图片的三个方法

这个方法就是对比两个字段 有相同的则不需要,已就是不输出标题图片。
比如图片都是存在morepic字段里面,这些图片需要一个标题,然:在前端的全部输出图片集的时候,为了好看或不重复,不需要
选择的标题图片一起调用 就可以用下面三种方法 ,三选一。推荐是第2.代码如下:
  1. 代码1
  2.                 <?php
  3. $picr = explode(egetzy('rn'), $navinfor['morepic']);
  4. $titlepic = $navinfor['titlepic'];

  5. // 创建一个数组来存储已经输出的图片
  6. $outputtedImages = array();

  7. for ($p = 0; $p < count($picr); $p++) {
  8.     $spicr = explode("::::::", $picr[$p]);

  9.     // 检查当前图片是否与titlepic相同,如果相同则跳过
  10.     if ($spicr[0] === $titlepic) {
  11.         continue;
  12.     }

  13.     // 检查当前图片是否已经输出过,如果输出过则跳过
  14.     if (in_array($spicr[0], $outputtedImages)) {
  15.         continue;
  16.     }

  17.     // 输出图片的HTML代码
  18.     echo '<li><a href="[!--titleurl--]" onclick="return false;" data-lightbox="screenshots"><div class="img-item"><img src="' . $spicr[0] . '"  alt="[!--title--]"></div></a></li>';

  19.     // 将当前图片添加到已输出的数组中
  20.     $outputtedImages[] = $spicr[0];
  21. }
  22. ?>
复制代码
  1. 代码2
  2. <?php
  3. $picr = explode(egetzy('rn'), $navinfor['morepic']);
  4. $filteredImages = array(); // 用于存储不重复的图片

  5. foreach ($picr as $pic) {
  6.     $spicr = explode("::::::", $pic);
  7.    
  8.     // 假设 $spicr[0] 存储图片链接
  9.     $imageLink = $spicr[0];
  10.    
  11.     // 假设 $navinfor['titlepic'] 存储标题图片链接
  12.     $titleImage = $navinfor['titlepic'];

  13.     // 如果标题图片和当前图片链接不同,就输出图片
  14.     if ($imageLink !== $titleImage) {
  15.         $filteredImages[] = $imageLink;
  16.         echo '<li><a href="[!--titleurl--]" onclick="return false;" data-lightbox="screenshots"><div class="img-item"><img src="' . $imageLink . '"  alt="[!--title--]"></div></a></li>';
  17.     }
  18. }
  19. ?>
复制代码
  1. 代码3
  2. <?php
  3. $picr = explode(egetzy('rn'), $navinfor[morepic]);
  4. $uniquePics = array();

  5. for ($p = 0; $p < count($picr); $p++) {
  6.     $spicr = explode("::::::", $picr[$p]);
  7.    
  8.     // 使用查表方法比较"titlepic"字段和"morepic"字段
  9.     if ($spicr[0] !== $navinfor[titlepic]) {
  10.         $uniquePics[] = $spicr[0];
  11.     }
  12. }
  13. ?>

  14. <!-- 输出不相同的图片 -->
  15. <?php foreach ($uniquePics as $pic): ?>
  16.     <li>
  17.         <a href="[!--titleurl--]" onclick="return false;" data-lightbox="screenshots">
  18.             <div class="img-item">
  19.                 <img src="<?=$pic?>" alt="[!--title--]">
  20.             </div>
  21.         </a>
  22.     </li>
  23. <?php endforeach; ?>
复制代码






上一篇:帝国cms自定义页面里面调用当前文章的父栏目
下一篇:在[自定义页面]里面想调用当前文章的父栏目
如无回复请发邮件