PHP では、変数名を文字列として取得するのは特殊なタスクになる場合があります。次のコードを考えてみましょう。
$FooBar = "a string";
変数の名前を抽出するには、通常、次のような関数を使用できます。
print_var_name($FooBar);
関数が "FooBar" を出力することを期待すると、ジレンマ: PHP には、変数名を文字列としてアクセスする簡単な方法がネイティブにありません。
しかし、回避策は存在します。これは最も効率的な解決策ではないかもしれませんが、特定の条件下で変数名を取得する方法を提供します。
<?php 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); ?>
この関数 varName() は、関数を呼び出した行を解析し、関数呼び出しに渡される引数。複数の引数を処理するようにカスタマイズできますが、この回避策には制限があることに注意することが重要です。より複雑なシナリオの場合は、代替ソリューションの方が適している場合があります。それにもかかわらず、限られた使用例に対して PHP で変数名を取得する方法を提供します。
以上がPHP で変数名を文字列として取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。