簡體   English   中英

foreach循環與嵌套數組?

[英]foreach loop with nested array?

我的數組$ array包含以下內容:

Array ( [0] => Array (
               [label] => Location and Contact
               [description] =>
      ) [1] => Array (
               [label] => Province
               [name] => province
               [options] => Array ( [0] => Province 1
                                    [1] => Province 2
                                    [2] => Province 3 )
      ) [2] => Array (
               [label] => City
               [name] => city
               [options] => Array ( [0] => City 1
                                    [1] => City 2
                                    [2] => City 3 )
      ) 

我想要實現的是將這三個城市循環到底部,可能是使用[name] => city。

到目前為止我嘗試過的(看起來並不是很好):

foreach ($array as $arr) {

            foreach ($arr['options'] as $option) {
            ?>
            &raquo; <?php echo $option; ?><br />
             <?php
            }

}

我對代碼的明顯問題是foreach循環中的foreach循環加上我還沒弄清楚如何從[name] =>省識別[name] => city,兩者都有[options]。

我對循環數組很新。

更新(與我的答案)

結合worldofjr的答案和我的修改,所以我可以將每個循環包含在一個容器中,如<li>, <option>, <div>等,我只創建了兩個foreach:

    foreach($array as $arr) {
        if($arr['name'] == "city") {
            $cities = $arr['options'];
        }
    }
    echo '<select>';
    foreach($cities as $city){

            echo '<option value="'.$city.'" class="class1 class2" data-att="att">'.$city.'</option>';

    }
    echo '</select>';

您可以使用implode($glue,$array) ,如下所示;

foreach($array as $arr) {
    if($arr['name'] == "city") {
        echo implode('<br>',$arr['options']);
    }
}

或者如果要打印城市列表,請使用list標簽包裝implode() ,如下所示;

foreach($array as $arr) {
    if($arr['name'] == "city") {
        echo "<ul><li>" . implode("</li><li>", $arr['options']) . "</li></ul>";
    }
}

請參閱PHP手冊:implode

希望這可以幫助!

我根本不明白,但我想要的只是輸出三個城市,你可以做到這一點

foreach ($array as $arr) 
{
    if ($arry['name'] == 'city') 
    {
        foreach ($arr['options'] as $option) 
        {
            echo $option . '<br />';
        }
    }
}        

那夠了嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM