ホームページ >バックエンド開発 >PHPチュートリアル >PHP 変数の名前を文字列として取得するにはどうすればよいですか?
PHP では、変数名を文字列としてアクセスすると、さまざまなシナリオで役立ちます。考えられる解決策は次のとおりです。
提供されたコード スニペットは、渡された変数の名前を取得する varName() という関数を示しています。
function varName($v) { $trace = debug_backtrace(); $vLine = file(__FILE__); $fLine = $vLine[$trace[0]['line'] - 1]; preg_match("#\$(\w+)#", $fLine, $match); print_r($match); } $foo = "knight"; $bar = array(1, 2, 3); $baz = 12345; varName($foo); varName($bar); varName($baz);
この関数は、PHP の debug_backtrace() を利用して、呼び出し関数のトレース。次に、トレースに関連付けられたソース コード ファイルを読み取り、file(__FILE__) を使用して関数呼び出しを含む行を抽出します。
変数名を抽出するには、変数名と一致する正規表現を使用します。ドル記号 ($) で始まり、その後に単語文字が続きます。
提供された関数の出力は次のとおりです。 variables:
Array ( [0] => $foo [1] => foo ) Array ( [0] => $bar [1] => bar ) Array ( [0] => $baz [1] => baz )
このソリューションは変数名を文字列として取得する方法を提供しますが、制限があり、すべてのユースケースに適しているわけではありません。コード内で変数名を抽出する必要性を慎重に検討し、必要に応じて別のアプローチを検討してください。
以上がPHP 変数の名前を文字列として取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。