为了账号安全,请及时绑定邮箱和手机立即绑定

如何正确回显这些 foreach 数组?

如何正确回显这些 foreach 数组?

PHP
尚方宝剑之说 2022-07-29 10:26:14
在一个项目上工作,我对 PHP 很陌生,不知道如何以更好的方式做到这一点。    $item_thumbnails = array(        "https://brkcdn.com/v2/images/shop/thumbnails/f7dd8e95-551f-5e1f-92f1-2ea6c29e61ca.png",        "https://brkcdn.com/v2/images/shop/thumbnails/9fd1ea9d-cfd0-525a-963f-0c3438c5dc34.png"    );    $item_names = array(        "brick-luke's Fedora",        "Golden Bok"    );    $item_urls = array(        "https://www.brick-hill.com/shop/20/",        "https://www.brick-hill.com/shop/10267/"    );    $item_values = array(        "30.000",        "100.000"    );    $item_demands = array(        "High",        "Low"    );    foreach ($item_urls as $key => $item_url) {    foreach ($item_thumbnails as $key => $item_thumbnail) {}    foreach ($item_names as $key => $item_name) {}    foreach ($item_values as $key => $item_value) {}    foreach ($item_demands as $key => $item_demand) {}        echo ('        <div class="card">            <a class="image" href="'.$item_url.'">                <img src="'.$item_thumbnail.'" onerror="this.onerror=null;this.src="'.$storageUrl.'/error.png"">            </a>            <div class="content">            <a class="header">'.$item_name.'</a>                <div class="ui divider"></div>                Value: <div class="ui right floated red horizontal label">'.$item_value.'</div>                <div class="ui divider"></div>                Demand: <div class="ui right floated green horizontal label">'.$item_demand.'</div>            </div>        </div>        ');    }它仅在所有选项卡上显示数组中的最新项目(如果有更多)。如何解决这个问题?帮助表示赞赏。
查看完整描述

2 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

像这样的东西应该工作:


$item_thumbnails = array(

    "https://brkcdn.com/v2/images/shop/thumbnails/f7dd8e95-551f-5e1f-92f1-2ea6c29e61ca.png",

    "https://brkcdn.com/v2/images/shop/thumbnails/9fd1ea9d-cfd0-525a-963f-0c3438c5dc34.png"

);


$item_names = array(

    "brick-luke's Fedora",

    "Golden Bok"

);


$item_urls = array(

    "https://www.brick-hill.com/shop/20/",

    "https://www.brick-hill.com/shop/10267/"

);


$item_values = array(

    "30.000",

    "100.000"

);


$item_demands = array(

    "High",

    "Low"

);


// iterate over one array and get values from 

// other arrays under the same key `$key`

foreach ($item_urls as $key => $item_url) {

    echo ('

    <div class="card">

        <a class="image" href="'.$item_url.'">

            <img src="' . $item_thumbnails[$key] . '" onerror="this.onerror=null;this.src="'.$storageUrl.'/error.png"">

        </a>

        <div class="content">

        <a class="header">' . $item_names[$key] . '</a>

            <div class="ui divider"></div>

            Value: <div class="ui right floated red horizontal label">' . $item_values[$key] . '</div>

            <div class="ui divider"></div>

            Demand: <div class="ui right floated green horizontal label">' . $item_demands[$key] . '</div>

        </div>

    </div>

    ');

}


查看完整回答
反对 回复 2022-07-29
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

首先你应该改进你的数组结构。


$items = array(

  [

    "thumbnail" => "https://brkcdn.com/v2/images/shop/thumbnails/f7dd8e95-551f-5e1f-92f1-2ea6c29e61ca.png"

    "name" => "brick-luke's Fedora",

    "url" => "https://www.brick-hill.com/shop/20/",

    "value" => "30.000",

    "demand" => "High"

  ],

  [

    "thumbnail" => "https://brkcdn.com/v2/images/shop/thumbnails/9fd1ea9d-cfd0-525a-963f-0c3438c5dc34.png",

    "name" => "Golden Bok",

    "url" => "https://www.brick-hill.com/shop/10267/",

    "value" => "100.000",

    "demand" => "Low"

  ]

);

之后,您可以 foreach $items变量并从中获取数据。见下文:


<?php

foreach ($items as $item) {

?>


<div class="card">

  <a class="image" href="<?php echo $item['url']; ?>">

    <img src="<?php echo $item['thumbnail']; ?>" onerror="this.onerror=null;this.src=<?php echo $storageUrl; ?>/error.png">

  </a>

  <div class="content">

    <a class="header"><?php echo $item['name']; ?></a>

    <div class="ui divider"></div>

    Value: <div class="ui right floated red horizontal label"><?php echo $item['value']; ?></div>

    <div class="ui divider"></div>

    Demand: <div class="ui right floated green horizontal label"><?php echo $item['demand']; ?></div>

  </div>

</div>


<?php

}

?>


查看完整回答
反对 回复 2022-07-29
  • 2 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信