2012-03-24 13 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)'を使わないのですか? –

答えて

3

(私は、配列の残りのサブ配列を渡す方法のわからないけど、ここで私は明らかに何かが欠けされ、思い付いたものです)私はこれを行うだろう:

write_to_log_or_whatever(print_r($par, true)); 

second parameter on print_r()セットがなく、通常のようにバッファに送信するよりも、出力を返します。

ログファイルが多すぎる場合は、json_encode()ですが、ログにJSONエンコードされたデータがあるかどうかを判断する必要があります。ログを手動で処理する場合は、それを実行することができます。しかし、ログファイル分析ツールを使用している場合は、しばしば苦労します。

+0

さて、ありがとう!私は良い古いprint_rについてそれを知らなかった! :) – Ted

+0

または 'var_export($ array、true);'。 –