2012-10-28 37 views
0

我從XML文檔中的assoc命令陣列......我輸出我需要爲我的需求所需的結構數據..印刷關聯數組 - 怪異輸出

問題:有正呼應字符/打印測試時,和我真的不清楚爲什麼以及是什麼導致了它..

Array 
(
[AR] => Array 
    (
     [Pt Lincoln] => Array 
      (
       [Track Desc] => Good 
       [Mtg Id] => 675546624 
       [Track Rating] => 2 
       [Weather] => Fine 
       [Abandoned] => N 
       [1] => Array 
        (
         [Race Name] => 3YO 0 - 64 HANDICAP 
         [Distance] => 1000 
         [1] => Array 
          (
           [Number] => 1 
           [Runner Name] => HEAVENS SHOUT 
           [Barrier] => 5 
          ) 
... 

PHP代碼:

foreach($data_array as $id => $mtgid) 
{ 
foreach($mtgid as $vname2 => $meet) 
{ 
    echo $mtgid[$vname2]['Track Desc']; 
    echo $mtgid[$vname2]['Mtg Id']; 
    echo $mtgid[$vname2]['Track Rating']; 
    echo $mtgid[$vname2]['Weather']; 
    echo $mtgid[$vname2]['Abandoned']; 


    foreach($meet as $race => $detail) 
    { 
     echo $meet[$race]['Race Name']; 
     echo $meet[$race]['Distance']; 

     foreach($detail as $horse => $selection) 
     { 
      echo $detail[$horse]['Number']; 
      echo $detail[$horse]['Runner Name']; 
      echo $detail[$horse]['Barrier']; 
      echo "<br/>"; 

     } 
     echo "<br/>"; 
    } 
} 
} 

?> 

輸出:

Good6755466242FineNGG 
66 
22 
FF 
NN 
3YO 0 - 64 HANDICAP1000333 
111 
1HEAVENS SHOUT5 
2HANK'S NEPHEW2 
3RIFF RAFF1 
4TIGARA'S GEM4 
5THE HEADLINER8 
6WHERE HEARTS LIE7 
7SHEZA STAR3 
8REDLEAF ROSE6 

隨機字符是GG6622FFNN

任何指導,將合租的感謝!

+0

這將幫助別人,如果你能顯著縮小代碼。 152行是不少。 – erisco

+0

編輯以只包括所述陣列和收拾長度 –

+0

'回波$滿足[$種族] [「比賽名稱」];回聲$滿足[$種族] [「距離」];' - 用於'鉑Lincoln'第一五個鍵,值是字符串,而不是陣列,因此這些語句輸出的第一個字母串表示兩次。 – DCoder

回答

0
foreach($data_array as $id => $mtgid) 
{ 
foreach($mtgid as $vname2 => $meet) 
{ 

    echo $mtgid[$vname2]['Track Desc']; 
    echo $mtgid[$vname2]['Track Rating']; 
    echo $mtgid[$vname2]['Weather']; 
    echo $mtgid[$vname2]['Abandoned']; 


    for($i=0; $i<count($meet); $i++) 
    { 
     echo $meet[$i]['Race Name']; 
     echo $meet[$i]['Distance']; 

     for($j=0; $j<count($meet[$i]); $j++) 
     { 
      echo $meet[$i][$j]['Number']; 
      echo $meet[$i][$j]['Runner Name']; 
      echo $meet[$i][$j]['Barrier']; 
      echo "<br/>"; 

     } 
     echo "<br/>"; 
    } 
} 
} 
+0

它適合我的需求! –