2013-03-15 110 views
-2

我有一個數組是以下形式的PHP的PHP如何訪問內部陣列陣列

Array(
0 => 
    array (
    0 => 'var1=\'some var1\'', 
    1 => 'var2=\'some_var2\'', 
    2 => 'var3=\'some_var3\'', 
)) 

,我希望它出現AS-

array (
    0 => 'var1=\'some var1\'', 
    1 => 'var2=\'some_var2\'', 
    2 => 'var3=\'some_var3\'', 
) 

那麼該怎麼辦呢?

+1

[?你嘗試過什麼(http://www.whathaveyoutried.com/)參見[問諮詢】(http://stackoverflow.com/questions/ask-advice)。 – 2013-03-15 18:54:19

+0

$ array = $ other_array [0]; – TFennis 2013-03-15 18:54:29

+0

得到了我錯了。只要輸出一些其他變量,並期待它輸出一些其他變量。對不起,這樣的愚蠢 – ashutosh 2013-03-15 18:56:27

回答

1

您是否嘗試過...

$inner_array = $outer_array[0]; 

var_dump($inner_array); 

...?

閱讀here in the manual關於更多細節在PHP中的數組。

0

多維數組一般工作如下所示

$shop = array(array("rose", 1.25 , 15), 
      array("daisy", 0.75 , 25), 
      array("orchid", 1.15 , 7) 
     ); 


echo $shop[0][0]." costs ".$shop[0][1]." and you get ".$shop[0][2]; 
0

foreach結構的語法如下:

foreach ($array_expression as $value) { 
    statement 
} 

foreach ($array_expression as $key => $value) { 
    statement 
} 

第一種格式遍歷由$陣列運算給出的陣列上。在每個循環中,當前元素的值被賦值爲$ value,並且內部數組指針被前進一個,以便在下一個循環中訪問下一個元素。

第二種形式做同樣的事情,除了當前元素的鍵將被分配給每個循環上的變量$鍵。

以上的foreach語法也類似於以下而構建:

while (list(, $value) = each($array_expression)) { 
    statement 
} 

while (list($key, $value) = each($array_expression)) { 
    statement 
} 

即使對於環可用於處理和通過使用以下語法陣列的所有元素循環:

$count = sizeof($arr_expression); 
for ($i = 0; $i < $count; $i++) { 
    $value = $arr_express[$i]; 
    statement 
} 

for ($i = 0, $item = ''; false != ($value = $arr_expression[$i]); $i++) { 
    statement 
} 

「foreach」的嵌套循環也可用於訪問多維數組。以下是一個示例數組以及訪問其數值數據的方式。例如:

foreach ($array_expression as $arr_value) { 
    foreach ($array_value as $value) { 
     statement 
    } 
} 

下面是一個例子代碼來訪問的數組:

$contents = array(
    "website_1" => array("name" => "StackOverFlow", 
         "url" => "http://www.stackoverflow.com", 
         "favorite" => "yes"), 
    "website_2" => array("name" => "Tip and Trick", 
         "url" => "http://www.tipandtrick.net", 
         "favorite" => "yes") 
); 

要檢索數據,程序員可以指定導致直接與下面的語法的值的密鑰,這將打印「我的數字生活」。

echo $contents['website_1']['name']; 

但是,上面的語法在處理大型數組時,或者鍵和值的名稱動態更改時變得不實用。在這種情況下,可以使用「foreach」函數遞歸訪問數組。

foreach ($contests as $key => $list) { 
    echo "Website No.: " . $key . "\n"; 
    echo "Name: " . $list['name'] . "\n"; 
    echo "URL: " . $list['url'] . "\n"; 
} 

輸出將是:

Website No.: website_1 
Name: StackOverFlow 
URL: http://www.stackoverflow.com/ 
Website No.: website_2 
Name: Tip and Trick 
URL: http://www.tipandtrick.net/