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

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

Barbara Streisand
リリース: 2024-12-21 05:35:09
オリジナル
556 人が閲覧しました

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

PHP で変数名を文字列として取得する

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート