ホームページ >バックエンド開発 >PHPの問題 >PHPで配列の名前を取得する方法

PHPで配列の名前を取得する方法

PHPz
PHPzオリジナル
2023-04-18 09:48:29673ブラウズ

PHP では、次の方法で配列の名前を取得できます。

  1. 変数名を配列名として使用する

変数名を配列名として使用する場合、変数名を直接使用して名前を取得できます。配列。例:

$array = array('apple', 'banana', 'orange');
$name = 'array';
echo $name; // 输出:array
  1. get_define_vars() 関数を使用して、すべての変数のリストを取得します。

get_define_vars() 関数は、配列変数を含む現在のスコープ。次に、リストを反復処理して、各変数が配列であるかどうかを確認し、配列である場合は配列の名前を取得します。例:

$array = array('apple', 'banana', 'orange');
$vars = get_defined_vars();
foreach ($vars as $name => $value) {
  if (is_array($value) && $value === $array) {
    echo $name; // 输出:array
  }
}
  1. debug_backtrace() 関数を使用して関数呼び出しスタック情報を取得します

debug_backtrace() 関数は、関数名と関数呼び出しスタック情報を取得できます。現在の関数パラメータの関数名とその他の情報。関数呼び出しスタックを走査して、各関数のパラメーターが配列であるかどうか、配列の値がターゲット配列と等しいかどうかを確認し、そうである場合は配列の名前を取得します。例:

function getArrayName($array) {
  $trace = debug_backtrace();
  foreach ($trace as $item) {
    if (isset($item['args'][0]) && is_array($item['args'][0]) && $item['args'][0] === $array) {
      return $item['function'];
    }
  }
  return null;
}

$array = array('apple', 'banana', 'orange');
$name = getArrayName($array);
echo $name; // 输出:getArrayName

どのメソッドを使用しても、現在のスコープで定義されている配列の名前のみを取得できます。配列が他のスコープで定義されている場合、その名前を直接取得することはできません。

以上がPHPで配列の名前を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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