【问题标题】:How to access keys and first string value while traversing a multi-dimensional array?遍历多维数组时如何访问键和第一个字符串值?
【发布时间】:2017-08-23 22:15:08
【问题描述】:

期望的结果:“我最喜欢的咸食是 Rufles 小吃”。 我想将数组“salty food”中的数组“snack”作为字符串回显:

$food = array(
    "salty food" => array(
        "snack" => array(
            0 => "Rufles",
            1 => "Generic"
        )
    )
);

echo "My prefered ";

foreach($food as $key => $value)     //salty food
    echo $key;

echo " is the ";

//--MY DOUBT IS HERE. DESIRED ECHO: "snack" (FROM THE DEEP ARRAY):
foreach($food as $key => $value)
    echo $key["snack"];

print_r($food["salty food"]["snack"][0]);     //Rufles

【问题讨论】:

标签: php loops multidimensional-array


【解决方案1】:

使用嵌套循环:

echo "My preferred ";
foreach ($food as $type1 => $value1) {
    echo $type1;
    echo " is the ";
    foreach ($value1 as $type2 => $value2) {
        echo "$type2 $value2[0]";
    }
}

DEMO

【讨论】:

    【解决方案2】:

    应该没问题

    <?php 
    
        $food = array(
            "salty food" => array(
                "snack" => array(
                    0 => "Rufles",
                    1 => "Generic"
                    )
                )
        );
    
        echo "My prefered ";
    
        foreach($food as $key1 => $value){
            echo $key1;    
            echo " is the ";        
            foreach($value as $key2 => $value){
                echo $key2." ";
            }        
        }    
        print_r($food["salty food"]["snack"][0]);
    
    
    ?>
    

    【讨论】:

    • 这只会打印My preferred salty food is the salty food。你两次都在同一个数组上循环。
    • 它产生:“我最喜欢的咸食是咸食Rufles”
    • 我的错!现在好了
    猜你喜欢
    • 1970-01-01
    • 2019-04-29
    • 2015-06-16
    • 2023-04-10
    • 2019-03-01
    • 2016-11-27
    • 2013-03-25
    • 1970-01-01
    • 2012-03-07
    相关资源
    最近更新 更多