ホームページ >バックエンド開発 >PHPチュートリアル >PHP 変数の名前を文字列として取得するにはどうすればよいですか?
変数名を文字列として取得することは、特定のシナリオでは役立つテクニックとなる可能性があります。 PHP はこの機能を直接サポートしていませんが、創造的なソリューションを使用して目的の結果を達成することは可能です。
指定された PHP コードでは、$FooBar という名前の変数が文字列値に割り当てられています。タスクは、変数が渡されたときに変数名を「FooBar」として出力する print_var_name() という関数を作成することです。
提案されたソリューションでは、debug_backtrace() 関数を利用してコール スタックを分析します。関数が呼び出されたコード行を識別し、ソース ファイルから対応するコード行を取得します。正規表現を使用して、この関数は行から変数名を抽出します。
function varName($v) { $trace = debug_backtrace(); $vLine = file(__FILE__); $fLine = $vLine[$trace[0]['line'] - 1]; preg_match("#\$(\w+)#", $fLine, $match); print_r($match); }
このソリューションは、コール スタックとソース コードで利用可能な情報を活用することで機能します。これにより、print_var_name() 関数に渡された値に関連付けられた変数名を取得できます。ただし、変数名が関数が呼び出される行の唯一の変数であることを前提としています。複雑なコード シナリオでは必ずしもそうであるとは限りません。
以上がPHP 変数の名前を文字列として取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。