builtin function

ビルトイン関数 - 詳細

Category: builtin_function

echoecho()

★変数、配列などを展開し格納された情報を画面出力する:開発デバッグ用

関数

void echoecho (  variant $var=null , string $sName=null )
★変数、配列などを展開し格納された情報を画面出力する:開発デバッグ用
パラメータ

第1引数: variant $var=null
第2引数: string $sName=null
戻り値

void
説明

第1引数に指定された変数を展開し画面出力する。
第1引数には配列やオブジェクトのような構造を持つものを指定することもできる。
また文字列や数値を直接渡しすことも可能。

第2引数は展開した変数を識別するための文字列を指定することができる。
Ver.005から第2引数は無指定の時は第1引数の変数名を動的に取得するようになった。

第1引数が未指定(又はnull)で、かつ第2引数が未指定(又はnull)の場合のみ全てのスーパーグローバル変数の情報を出力する。
この出力は1プロセス中で1度のみ実行可能。

注意)
画面出力された文字列(特にSQL)を直接コピーすることがあるものと想定している。
この為コピーに不都合なエスケープシーケンスをただの文字列に変更している。
変更しているエスケープシーケンスは以下の通り。
「\'」=>「'」、「\\」=>「\」
string型、又は配列の値がstring型のものは、値の前後が文字列を表す「'(クォート)」で挟まれているにも関わらず、中の文字列はエスケープされない点に注意する必要がある。

ex) $sampleの中身を展開して出力する
$sample = 1;
echoecho($sample);

ex) 全てのスーパーグローバル変数を展開する
echoecho();

ペンディング)
第1引数名の取得のため参照渡しにしたいが、それだと値や文字列を直接渡された場合にFatal errorとなる。
この参照渡しの問題があるため$GLOBALSを利用した変数名の逆引きもできないでいる。どうしたものやら。

006 - 2013/03/28 xirasaya: 第1引数の表示名取得の精度を上げた。かなり力技。
またトレース表示を関数呼び出し元のファイルパス一つのみに変更した。ただしそれが本関数の定義されたファイルだった場合はその次のものを表示する。
005 - 2012/07/02 xirasaya: 第1引数を指定した状態で第2引数を省略した時、本来表示名として利用される第2引数を動的に取得するよう変更。
ただしこの機能は、現段階では本関数を1行で2回以上呼び出しをすると表示名を正しく取得できない。この問題は第2引数をきちんと指定すれば回避できる。
また以前は、第1引数が未指定(又はnull)で、かつ第2引数が未指定(又はnull)の場合のみ全てのスーパーグローバル変数の情報を出力するというものだったが、Ver.005からは引数が無指定(void)の時のみ全てのスーパーグローバル変数の情報を出力するように変更。
またこれ以外の出力時においては、呼び出し元ファイル名と呼び出し元の行番号が表示されるように変更。
HTMLのstyle属性を若干変更。
004 - 2012/04/26 xirasaya: 英字が続くと画面横に伸びる問題を解消。
003 - 2011/06/16 xirasaya
001 - 2007/10/31 xirasaya
ソースコード [表示]


[top]