简体   繁体   English

Foreach内部Foreach-PHP

[英]Foreach inside Foreach - PHP

I'm trying to get the following 我正在尝试获得以下内容

   <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>

I need to get the players number and players name from 2 different foreach but I can't find a solution is it really possible to Foreach inside Foreach 我需要从2个不同的foreach中获取球员编号和球员姓名,但我找不到解决方案,是否真的有可能在Foreach中加入Foreach

Here is what I've tried so far 到目前为止,这是我尝试过的

 $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>';

       } 

Thanks 谢谢

Your current loops are not nested. 您当前的循环未嵌套。 However, you can use the index to print all the data you need at once. 但是,您可以使用index一次打印所有需要的数据。 The index will take the values 0,1,2,3... 索引将取值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;?>

However : Ideally, you will restructure the $repeatable array to have a 'player' property that will have an entry for sum and for name. 但是 :理想情况下,您将重组$repeatable数组以具有一个'player'属性,该属性将具有sum和name条目。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM