【问题标题】:Laravel: How to select images from an arrayLaravel:如何从数组中选择图像
【发布时间】:2023-03-25 03:39:01
【问题描述】:

Laravel 新手,似乎无法解决这个原本微不足道的问题。在这里使用别人的代码。他们定义了数组“资产”,其中 4 个图像被拉取:

foreach(unserialize($productData['assets']) as $asset){
   if(in_array($asset->rel,$denyRel)){
        continue;
   }
    $assets[$i]['link'] = $asset->href;
    $assets[$i]['rel'] = $asset->rel;
   $i++;
}

结果如下:

 [assets] => Array
         (
             [0] => Array
                 (
                     [link] => http://test.images-amazon.com/images/I/image1L.jpg
                     [rel] => PT01
                 )

                 [1] => Array
                     (
                         [link] => http://test.images-amazon.com/images/I/image2L.jpg
                         [rel] => PT02
                     )

                 [2] => Array
                     (
                         [link] => http://test.images-amazon.com/images/I/image3L.jpg
                         [rel] => PT03
                     )

                 [3] => Array
                     (
                         [link] => http://test.images-amazon.com/images/I/image4L.jpg
                         [rel] => MAIN
                   ) 
            )

    )

要拉出所有这些,我可以执行以下 foreach 循环:

@foreach($assets as $asset)
    <div class="alt-img">
        <img src="{{$asset['link']}}" data-rel="{{$asset['rel']}}" alt="{{$pageTitle}}" data-altImage="{{$asset['link']}}">
    </div>
@endforeach

但是,我只需要从阵列中提取特定的,例如 PT01 或 PT02。有人能指出我正确的方向吗?谢谢你。注意:站点是通过 AWS 托管的,并且 URL 已稍作修改。

【问题讨论】:

    标签: php arrays laravel laravel-4


    【解决方案1】:

    只需根据您的情况进行选择。 假设您只想保留“PT01”和“PT02”,您可以这样做:

    <?php $allowed = array('PTO1','OT02'); // This is just an example ?>
    
    @foreach($assets as $asset)
      @if(in_array($asset['rel'], $allowed))
        <div class="alt-img">
            <img src="{{$asset['link']}}" data-rel="{{$asset['rel']}}" alt="{{$pageTitle}}" data-altImage="{{$asset['link']}}">
        </div>
      @endif
    @endforeach
    

    上面的代码将只打印那些具有“PTO1”和“PT02”data-rel(嗯,rel 索引)的图像。 基本上,您已经在循环播放,所以只需(根据您想要的标准)选择要打印或不打印哪个

    【讨论】:

      猜你喜欢
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      • 2023-01-04
      • 2020-04-18
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      相关资源
      最近更新 更多