コマンドラインから実行することで、詳細な情報を得られることがあります。
C:\>php filepath
void var_dump ( mixed $expression [, mixed $... ] )PHP: var_dump - Manual
mixed print_r ( mixed $expression [, bool $return = FALSE ] )PHP: print_r - Manual
たとえば、
$a = array( 'one', '02'=>2, TRUE, 0.1 );
を出力すると、それぞれ
var_dump( $a ); |
print_r( $a ); |
array(4) { [0]=> string(3) "one" ["02"]=> int(2) [1]=> bool(true) [2]=> float(0.1) } |
Array ( [0] => one [02] => 2 [1] => 1 [2] => 0.1 ) |
のようになります。
void echo ( string $arg1 [, string $... ] )PHP: echo - Manual
かっこは不要であり、複数の引数を指定した場合のエラーを避けるため、記述すべきではありません。
echo 'aa'; // aa echo 'aa', 'bb'; // aabb echo( 'aa' ); // aa echo( 'aa', 'bb' ); // Parse error: syntax error, unexpected ','
出力バッファを制御することで、出力内容を変数に取得できます。
ob_start(); echo 'Hello World'; // 出力はされず、バッファに保存される $data = ob_get_clean(); // バッファの内容を取得し、バッファをクリアする file_put_contents( 'data.log', $data );PHP: 出力制御 - Manual
print_r()は第2引数にTRUEを指定することで結果が文字列で返されるので、それで変数に取得できます。
void exit( [ string $status ] )
void exit( int $status )PHP: exit - Manual
exit()の引数に整数を渡すとステータスコードと認識され、メッセージとして表示されません。※1
※1 PHP 4.2.0以降ファイルの書き込み関数で、ファイルへ出力できます。
void debug_print_backtrace ( [ int $options = 0 // DEBUG_BACKTRACE_IGNORE_ARGS … "args"を無視 [, int $limit = 0 // スタックフレームの数の制限 ]] )PHP: debug_print_backtrace - Manual
<?php function Func1() { debug_print_backtrace(); } function Func2( $a ) { Func1( 123 ); } Func2( 'abc' );
#0 Func1(123) called at [C:\localhost\sample.php:10] #1 Func2(abc) called at [C:\localhost\sample.php:13]