亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

需要重復的復雜 nexted foreach

需要重復的復雜 nexted foreach

PHP
慕桂英546537 2021-12-03 19:11:22
我想用我的對象做一個 foreach 并在它結束時創建一個帶有srcset.Srcset 應該像這樣格式化:<img srcset="elva-fairy-320w.jpg 320w,             elva-fairy-480w.jpg 480w,             elva-fairy-800w.jpg 800w"     sizes="(max-width: 320px) 280px,            (max-width: 480px) 440px,            800px"     src="elva-fairy-800w.jpg" alt="Elva dressed as a fairy">https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images我的輸出格式如下:stdClass Object(    [images0] => stdClass Object        (            [mediaManagerOrUrl] => 0            [mediaManagerImagesSubform] => stdClass Object                (                    [image] => images/1600x400.jpg                    [realSize] => 1600                    [size] => 1200                    [slot] => 1600                )        [urlImagesSubform] => stdClass Object            (                [url] =>                 [realSize] =>                 [size] =>             )    )[images1] => stdClass Object    (        [mediaManagerOrUrl] => 0        [mediaManagerImagesSubform] => stdClass Object            (                [image] => images/1200x400.jpg                [realSize] => 1200                [size] => 1000                [slot] => 1000            )        [urlImagesSubform] => stdClass Object            (                [url] =>                 [realSize] =>                 [size] =>             )    )最初我開始使用嵌套的 foreach 語句。然而,我隨后意識到我實際上需要拉出所有 4 個圖像,并且使用嵌套的 foreaches 一次只允許一個,例如,它正在連續處理所有圖像部分。然后我嘗試使用這種語法。foreach ($params->get('images') as $someImages) {    echo '<img srcset="' . $someImages->mediaManagerImagesSubform->image . " " . $someImages->mediaManagerImagesSubform->realSize . ',"            sizes="(max-width:' . $someImages->mediaManagerImagesSubform->size . ') ' . $someImages->mediaManagerImagesSubform->slot . ',             src="' . $defaultImage . '" alt="'. $altText . '">';}這是非常復雜的,沒有奏效。誰能幫助我了解如何實現這一目標?我開始認為我需要以某種方式將數據觸發到一個數組中,從而將它從嵌套語法中分離出來并在調用它之前將其完全放在首位。那會更明智嗎?為了使事情更加復雜,我想我需要做一個計數,以便我可以添加逗號,但不能添加到最后一個實例中。
查看完整描述

1 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

我的最終答案是使用兩個不同的 foreach 語句$i,然后使用一個,然后使用我的變量的完整路徑。


<?php 

    $i = 0;


    echo '<img srcset="';

    foreach ($images as $image) {

        echo $image->mediaManagerImagesSubform->image . " " . $image->mediaManagerImagesSubform->realSize . "w";

        echo ', ';

    }

    echo '" size="';

    foreach ($images as $image) {

        echo '(max-width: ';

        echo $image->mediaManagerImagesSubform->size . 'px) ' . $image->mediaManagerImagesSubform->slot . "px";

        echo ', ';

    }

    echo '" src="' . $defaultImage . '" alt="'. $altText . '">';

?>


查看完整回答
反對 回復 2021-12-03
  • 1 回答
  • 0 關注
  • 194 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號