PHP では、次の方法で配列の名前を取得できます。
変数名を配列名として使用する場合、変数名を直接使用して名前を取得できます。配列。例:
$array = array('apple', 'banana', 'orange'); $name = 'array'; echo $name; // 输出:array
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 } }
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 サイトの他の関連記事を参照してください。