【问题标题】:Foreach inside Foreach - PHPForeach 内的 Foreach - PHP
【发布时间】:2018-06-14 22:01:40
【问题描述】:

我正在尝试获取以下内容

   <li class="player">
        <a class="playerinfo>
            <span class="playernumber">1</span>
            <span class="playername">Angel</span>
        </a>
    </li> 
   <li class="player">
        <a class="playerinfo>
            <span class="playernumber">2</span>
            <span class="playername">Shamak</span>
        </a>
    </li>
   <li class="player">
        <a class="playerinfo>
            <span class="playernumber">4</span>
            <span class="playername">Koal</span>
        </a>
    </li>

我需要从 2 个不同的 foreach 中获取球员编号和球员姓名,但我找不到解决方案是否真的可以在 Foreach 中进行 Foreach

这是我迄今为止尝试过的

 $repeatable1 = get_post_meta( get_the_ID(), 'meta-box-text', true);


       foreach($repeatable1['playersnum'] as $num) {

              echo '<li class="player">';

              echo '<a class="playerinfo">';

              echo ' <span class="playernumber">'.$num.'</span>';


       } 

         foreach($repeatable1['playersname'] as $name) {

                echo '<span class="playername">'.$name.'</span>';

                echo '</a></li>';

       } 

谢谢

【问题讨论】:

  • 您的代码是 2 个独立的 foreach() 循环,而不是嵌入另一个循环。
  • 感谢您的回复,我也这样做了,但我没有得到我想要的输出,这就是为什么我问是否有办法真正将 2 个 foreach() 循环放在一个
  • $repeatable1的数组结构是什么?

标签: php wordpress loops foreach


【解决方案1】:

您当前的循环没有嵌套。但是,您可以使用index 一次打印您需要的所有数据。索引将采用值 0,1,2,3...

<?php foreach($repeatable1['playersname'] as $index=> $value):?>
    <li class="player">
        <a class="playerinfo>
            <span class="playernumber"><?php echo $repeatable1['playersnum'][$index]; ?></span>
            <span class="playername"><?php echo $value; ?></span>
        </a>
    </li> 
<?php endforeach;?>

但是:理想情况下,您将重组 $repeatable 数组,使其具有 'player' 属性,该属性将包含 sum 和 name 条目。

$repeatable = [
    "player" => [
        ["name"=>"The Name","sum"=>100],
        ["name"=>"The other name","sum"=>200],
        ...
    ]
];

【讨论】:

    猜你喜欢
    • 2016-09-26
    • 2012-07-19
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    相关资源
    最近更新 更多