【问题标题】:Using Array_merge for 2 for_each arrays将 Array_merge 用于 2 个 for_each 数组
【发布时间】:2011-06-11 21:48:06
【问题描述】:

我用它来显示从我的 cms 调用的缩略图列表:

<?php if($gallery_images) { ?>
<?php
$slide_page = 1;
foreach($gallery_images as $count => $image) { ?>
<li><a href="<?php echo $image->getResizedImage(); ?>" rel="example1"  title="********"><img width="125" height="80" src="<?php echo $image->getThumbnailImage()     
?>" /></a></li>

     <?php if(($count+1) % 3 == 0) {
     $slide_page += 1;
      ?>

它从我的 CMS 中调用图像并以 3 个一组的形式显示它们,并添加了一些 jquery 来滚动浏览集合。

我想要做的是将它与我​​的视频合并到同一个列表中。

视频代码如下:

<?php foreach($videos as $count => $video) { ?>
<a href="<?php echo $video->getLocation(); ?>" class="videolink"><img src="{thumbnail}" />Video A</a>
<?php } ?> 

我尝试使用 array_merge 函数,但似乎遇到了困难,任何帮助将不胜感激

【问题讨论】:

  • array_merge 非常简单。您传入任意数量的数组,它将返回一个合并数组。请指出您遇到困难的地方。

标签: php arrays merge foreach array-merge


【解决方案1】:

很简单:

foreach (array_merge($gallery_images, $videos) as $count => $value) { }

您可能还想查看array_chunk()


更新:

<? foreach (array_merge($images, $videos) as $key => $value): ?>
    <? if (is_object($value) === true): ?>
        <? if (method_exists($value, 'getLocation') === true): ?>
            <a href="<?= $video->getLocation(); ?>" class="videolink"><img src="{thumbnail}" />Video A</a>
        <? elseif (method_exists($value, 'getResizedImage') === true): ?>
            <a href="<?= $image->getResizedImage(); ?>" rel="example1"  title="***"><img width="125" height="80" src="<?= $image->getThumbnailImage(); ?>" /></a>
        <? endif; ?>
    <? endif; ?>
<? endforeach; ?>

【讨论】:

  • @Christian:那有什么问题?
  • 应该让事情更清楚,问题是这两个变量的 $value 是不同的,所以 $gallery_images - $image 和 $videos - $video 以及作为图像生成的缩略图的来源使用缩略图(因此手头的图像会重新调整大小,并且视频将从文件中调用图像,因为无法从相同的伪装中生成缩略图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-22
  • 2011-02-25
  • 1970-01-01
  • 2021-05-31
相关资源
最近更新 更多