2013-12-12 168 views
0

我有一個問題。我不知道如何顯示我想要的確切數據。PHP操縱多陣列數據

我的數組是這樣的:

$races[$numRace][$finalPosition] 

$races[1][1] = array ('stephan','1:27,895'); 
$races[1][2] = array ('george', '1:29,075'); 
$races[1][3] = array ('peter', '1:29,664'); 
$races[1][4] = array ('benson', '1:29,915'); 
$races[2][1] = array ('benson', '1:41,113'); 
$races[2][2] = array ('stephan','1:41,434'); 
$races[2][3] = array ('george', '1:43,654'); 

foreach ($races as $v1) { 
    foreach ($v1 as $v2) { 
     foreach ($v2 as $v3) { 
     echo "$v3\n"; 
    } 
    } 
} 

這一個顯示我$比賽陣列的每一個數據。

我的問題是:如何才能顯示第2場比賽的結果?

重要提示:我們不知道每場比賽有多少參賽者參賽(因此,我們需要一個「foreach」)。
我想這樣的結果:

  1. 本森
  2. 斯蒂芬
  3. 喬治

回答

0

簡單地只通過相關數組進行迭代。基於您的代碼你foreach應該是:

foreach ($races[2] as $pos => $info){ 
    echo $pos.': '.$info[0]; 
} 

我已經硬編碼在代碼中的值2,但你可以很容易地使用一個變量(foreach ($races[$raceNum])。

如果您還不知道,=>使我們可以將密鑰作爲我們循環中的變量使用。

+0

謝謝! 這正是我想要的! 我不知道我可以用這種方式來管理一個多元陣列。 – user3096769

+0

@ user3096769沒問題。很高興我能幫上忙。 – Lasse

+0

而我的最後一個問題是...... 如果我想列出所有獲勝者,但不知道有多少種族擁有陣列,該怎麼辦? 類似這樣的:(我知道這是錯誤的) foreach($ races [] [1] as $ winner => $ info){ echo $ winner。':'。$ info [0]; } – user3096769