>  기사  >  백엔드 개발  >  PHP에서 배열의 이름을 얻는 방법

PHP에서 배열의 이름을 얻는 방법

PHPz
PHPz원래의
2023-04-18 09:48:29647검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.