2012-03-24 77 views
2

我想用我的記錄器將變量轉儲到我的日誌文件中。 我需要它來寫下數組中的數組。 你能解釋一下怎麼做? (我不知道如何傳遞數組的其餘部分的子陣列,但這裏是我想出了,這顯然是失去了一些東西)遞歸記錄

感謝

function logRec($param) 
{ 
    if(!isset($param)) 
     return; 

    foreach($param as $key=>$value) 
    { 
     if(is_array($value)) 
     { 
      echo "<b>nested array</b><br />"; 
      logRec(next($param)); 
     } 
     else 
     { 
      echo $param; 
      return; 
     } 
    }  
} 

$par = array("ABC","DEF",array("Apple","Peach","Melon",array("Cube","Sphere","Pyramid"))); 
logRec($par); 
+0

爲什麼不使用'print_r($ par)'? – 2012-03-24 23:07:32

回答

3

我只想做:

write_to_log_or_whatever(print_r($par, true)); 

second parameter on print_r()套它返回的輸出,而不是將其發送到緩衝器如常。

如果看到太多行對您的日誌文件不好,那麼您可以做的另一件事是json_encode()它,但是您必須決定日誌中是否有JSON編碼的數據是有幫助的。如果您手動查看日誌,則可以。但是,如果您有日誌文件分析工具,通常會很痛苦。

+0

嘖嘖,謝謝!我不知道那些舊的print_r! :) – Ted 2012-03-24 23:08:25

+0

或'var_export($ array,true);'。 – 2012-03-24 23:15:01