簡體   English   中英

PHP:如何使用foreach打印多維數組元素?

[英]PHP: How can I print multi-dimensional array elements using foreach?

$shop = array( 
                array("Rose", 1.25 , 15),
                array("Daisy", 0.75 , 25),
                array("Orchid", 1.15 , 7)
            );


    for($i = 0; $i <= count($shop); $i++){
        foreach($shop[$i] as $key => $val)
            echo $key . ' = ' . $val . '<br>';
    }

所以這是我得到的輸出:

0 =玫瑰

1 = 1.25

2 = 15

0 =雛菊

1 = 0.75

2 = 25

0 =蘭花

1 = 1.15

2 = 7

===========================================

但是然后我得到一個錯誤:

警告 :為foreach()提供了無效的參數

我想知道的是如何糾正此問題,是否有更有效的方式來編寫我要輸出的內容?

多謝你們。

問題是,您使用<=代替< 因此,您的for循環進行了一步,數組超出范圍。

for($i = 0; $i < count($shop); $i++){
    foreach($shop[$i] as $key => $val)
        echo $key . ' = ' . $val . '<br>';
}
foreach ($Array AS $Values){
    if (is_array($Values)){
        foreach ($Values AS $Inner){
            echo $Inner;
        }
    }else{
        echo $Values;
    }
}

我個人會進行2個foreach循環。 檢查傳遞的值是否是數組(如果是)。 介入。如果沒有,請打印值

遍歷數組時,請始終使用foreach而不是for循環。

foreach ($shop as $foo) {
    foreach ($foo as $key => $val) {
        echo $key . ' = ' . $val . '<br />';
    }   
}

暫無
暫無

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

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