要將陣列的資料讀出 ,在PHP程式語言裡 ,我們都知道可以使用 foreach ,當存取的陣列是 一維陣列 時, 並沒有什麼問題
若存取的陣列是為二維陣列或三維陣列時 ,若直接使用 foreach 則將會得到 array 的字串 ,並沒有辦法真的得到陣列的資料值

那麼該怎麼處理呢?

 

當遇到二維陣列以上(含二維)可以使用巢狀foreach來解決需求 ,請參考下面的範例 ... 

   foreach($LangItem as $v1)
   {
        foreach($v1 as $v2)
       {
           echo $v2."<BR>";
       }
   }

 上面的範例 ,外層的foreach先讀出 $LangItem 陣列的 ID值 ,第二個 foreach 則是先使用取得的ID值去得到陣列的資料值

如果陣列是這樣寫 ...

$ABC['TITLE'][1] = "測試1”;
$ABC['VALUE'][1] = "測試1的資料值”;
$ABC['TITLE'][2] = "測試2”;
$ABC['VALUE'][2] = "測試2的資料值”;
$ABC['TITLE'][3] = "測試3”;
$ABC['TITLE'][3] = "測試3的資料值”;

則經由上面的巢狀foreach的處理結果 ,就會得到

測試1 測試1的資料值 測試2 測試2的資料值 測試3 測試3的資料值

問題來了 ,您或許會問 ,那如果我只想要輸出陣列裡面的 VALUE 的資料時 ,該如何處理 ,方法很多種

最簡單的方式 ,請參考如下的修改 ...

 

 

   $start=0; 
   foreach($LangItem as $v1)
   {
        foreach($v1 as $v2)
       {
          if($start==1)
  
           echo $v2."<BR>";
       }
    $start++;
   }

這樣修改之後 ,就會得到 ...

測試1的資料值 

測試2的資料值

測試3的資料值

以上為簡單的範例 ,請參考, 亦歡迎透過留言板發表您的問題 ,或者不一樣的想法 ,大家交流交流 ,謝謝.


創作者介紹

經驗交流分享與備忘

Frank 發表在 痞客邦 PIXNET 留言(0) 人氣()