ホームページ >バックエンド開発 >PHPチュートリアル >PHP 変数の名前を文字列として取得するにはどうすればよいですか?

PHP 変数の名前を文字列として取得するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-16 02:19:13899ブラウズ

How Can I Get a PHP Variable's Name as a String?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。