2012-04-20 51 views
1

我有一個多維foreach(),我似乎無法正確訪問。第一種格式回顯正確的父記錄,但子回覆僅回顯「數組」。第二種格式回顯子記錄,但會給父記錄提供錯誤。我想輸出父母的4個字段以及相應子記錄的字段。cakephp訪問foreach()在正確的水平

看看Cakebin這張貼。它有鏈接到它的輸出截圖。

任何幫助,非常感謝。如果您需要更多信息,請詢問。

+0

你能粘貼錯誤信息嗎?也許對每條記錄使用print_r,以確保它是一個關聯數組將幫助你 – pollirrata 2012-04-20 17:05:49

+0

如果回顯顯示爲「數組」,這意味着你試圖回顯的值實際上是一個數組。使用'debug($ array)'來查看它的內容 – Julien 2012-04-20 20:42:01

+0

@pollirrata,沒有錯誤信息。查看數據的截圖以查看輸出。 – 2012-04-21 23:06:03

回答

1

更新與pastie循環您發佈:

foreach ($data as $invoice) 
{ 
    debug($invoice['SOP10100']); // should give you all "header" data 

    // you should be able to do this: 
    foreach ($invoice['SOP10100'] as $headerKey => $headerValue) 
    { 
     /* snip*/ 
    } 

    foreach ($invoice['InvoiceDetail'] as $invoiceDetail) 
    { 
     debug($invoiceDetail); // should show entire detail 

     // also, this: 
     foreach ($invoiceDetail as $detailKey => $detailValue) 
     { 
      /* snip*/ 
     } 
    } 
} 

您可以隨時使用DebugKit,使調試和調查更加容易。

+0

我一直在使用所有變量的調試。我沒有注意到這些數據有什麼問題。我只是不明白爲什麼我要麼獲取數組的子記錄,要麼爲父記錄錯誤。這個不成立。 – 2012-04-21 23:19:14

+0

@MikeS:你可以將debug($ data)的輸出添加到上面的粘貼中嗎?確保它是同一個給你的錯誤,所以我們可以比較數據和輸出。 – 2012-04-21 23:49:37

+0

好的。用這個簡單的循環http://pastie.org/3839163,我得到了一個樣例輸出,像這樣http://pastie.org/3839156。我不明白的是,如果我回聲輸出,我得到ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray ... – 2012-04-23 14:07:45