Foreach 里面的 Foreach - PHP

Per*_*han 0 php wordpress foreach loops

我正在尝试获得以下内容

   <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>
Run Code Online (Sandbox Code Playgroud)

我需要从 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>';

       } 
Run Code Online (Sandbox Code Playgroud)

谢谢

Ibu*_*Ibu 5

您当前的循环不是嵌套的。但是,您可以使用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;?>
Run Code Online (Sandbox Code Playgroud)

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

$repeatable = [
    "player" => [
        ["name"=>"The Name","sum"=>100],
        ["name"=>"The other name","sum"=>200],
        ...
    ]
];
Run Code Online (Sandbox Code Playgroud)