2016-09-26 40 views
-2

這段代碼有什麼問題?上述回波命令如何從二維數組中獲得價值

<?php 
$myarray=array_fill (0 , 2 , array_fill (0,1,3)); 
echo "> ".$myarray[0][1]." < <br>"; 
?> 

結果是以下:

> < 

我期望是 '> 3 <' 將被顯示。

如何在本例中正確訪問二維數組的值?

感謝

+0

沒有$ myArray的[0] [1]試試這個回聲 「>」 。$ myarray [0] [0]。「<
」; – JYoThI

回答

1

你的代碼確實創造一個二維數組,但是這是實際的數據:

array(2) { 
    [0] => 
    array(1) { 
    [0] => 
    int(3) 
    } 
    [1] => 
    array(1) { 
    [0] => 
    int(3) 
    } 
} 

所以$myarray[0][1]不存在。

array_fill()的外部調用創建了一個帶有兩個元素的數值數組,其中一個元素的內部是一個元素,值爲3。兩個密鑰集均以0開頭。這就是爲什麼你做不是得到內部數組中的密鑰1,但只有0作爲唯一的關​​鍵在那裏。

請閱讀有關的函數的自變量的解釋爲記載:http://php.net/manual/en/function.array-fill.php

+1

謝謝你的回答。現在我知道......這是我的錯,不仔細閱讀手冊 - 我認爲array_fill函數中的第二個參數代表'end index',而它代表數組中元素的數量。 – sameucho

0

試試這個,

foreach($myarray as $val_array) 
{ 
    foreach($val_array as $val)  
    { 
     echo $val."<br>"; 
    } 
} 

輸出:

3 
3 

DEMO

+0

任何** Downvote **請原因? – Dave

0

沒有1個指數在第0指數$ myArray的[0] [1]

<?php 

$myarray=array_fill (0 , 2 , array_fill (0,1,3)); 

echo "<pre>"; 

print_r($myarray); 

echo "</pre>"; 


echo "> ".$myarray[0][0]." < <br>"; 
?> 

OUTPUT:

Array 
(
[0] => Array 
    (
     [0] => 3 
    ) 

[1] => Array 
    (
     [0] => 3 
    ) 

) 

    > 3 <