>백엔드 개발 >PHP 튜토리얼 >PHP 추출() 함수

PHP 추출() 함수

巴扎黑
巴扎黑원래의
2016-11-23 14:04:521354검색

정의 및 사용법

PHP extract() 함수는 배열의 변수를 현재 기호 테이블로 가져옵니다.

배열의 각 요소에 대해 키는 변수 이름으로 사용되고 키는 변수 값으로 사용됩니다.

두 번째 매개변수 유형은 변수가 이미 존재하고 배열에 동일한 이름을 가진 요소가 있는 경우 extract() 함수가 이러한 충돌을 처리하는 방법을 지정하는 데 사용됩니다.

성공적으로 설정된 변수의 개수를 반환하는 함수입니다.

구문

extract(array,extract_rules,prefix)

매개변수 설명

배열 필수입니다. 사용할 입력을 지정합니다.

extract_rules

선택 사항. extract() 함수는 각 키 이름이 유효한 변수 이름인지 확인하고, 기호 테이블의 변수 이름과 충돌하는지 확인합니다.

불법, 숫자, 충돌하는 키 이름의 처리는 이 매개변수에 따라 결정됩니다. 다음 값 중 하나일 수 있습니다.

가능한 값:

EXTR_OVERWRITE - 기본값. 충돌이 있는 경우 기존 변수를 덮어씁니다.

EXTR_SKIP - 충돌이 있는 경우 기존 변수를 덮어쓰지 마십시오. (배열에서 이름이 같은 요소는 무시합니다.)

EXTR_PREFIX_SAME - 충돌이 있는 경우 변수 이름 앞에 접두사를 붙입니다. PHP 4.0.5부터 여기에는 숫자 인덱스 처리도 포함됩니다.

EXTR_PREFIX_ALL - 모든 변수 이름 앞에 접두사(세 번째 매개변수)를 붙입니다.

EXTR_PREFIX_INVALID - 접두사가 있는 잘못된 변수 또는 숫자 변수 이름에만 접두사를 붙입니다. 이 태그는 PHP 4.0.5에서 새로 추가되었습니다.

EXTR_IF_EXISTS - 현재 기호 테이블에 이미 존재하는 경우 동일한 이름의 변수 값만 덮어씁니다. 그 외는 처리되지 않습니다. 합법적인 변수 집합이 정의된 후 $_REQUEST와 같은 배열에서 값을 추출하여 이러한 변수를 덮어쓰고 싶을 때 사용할 수 있습니다. 이 태그는 PHP 4.2.0에서 새로 추가되었습니다.

EXTR_PREFIX_IF_EXISTS - 현재 심볼 테이블에 동일한 이름의 변수가 이미 존재하는 경우에만 접두사가 붙은 변수 이름이 생성되고 다른 작업은 처리되지 않습니다. 이 태그는 PHP 4.2.0에서 새로 추가되었습니다.

EXTR_REFS - 변수를 참조로 추출합니다. 이는 가져온 변수가 여전히 var_array 매개변수의 값을 참조하고 있음을 나타냅니다. 이 플래그는 단독으로 사용하거나 extract_type에서 OR를 사용하여 다른 플래그와 조합하여 사용할 수 있습니다. 이 태그는 PHP 4.3.0에서 새로 추가되었습니다.

접두사

선택 사항입니다. 접두사는 extract_type의 값이 EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID 또는 EXTR_PREFIX_IF_EXISTS인 경우에만 필요합니다. 접두어를 붙인 후의 결과가 합법적인 변수 이름이 아닌 경우 기호 테이블로 가져오지 않습니다.

접두사와 배열 키 이름 사이에 밑줄이 자동으로 추가됩니다.

예제 1

$a = 'Original';
$my_array = array("a " => "고양이","b" => "개", "c" => "말");
extract($my_array);
echo "$a = $a; b = $b; $c = $c";
?>

출력:

$a = 고양이; $b = 개; $c = 말

예 2

모든 매개변수 사용:

$a = 'Original';
$my_array = array("a " => "고양이","b" => "개", "c" => "말");

extract($my_array, EXTR_PREFIX_SAME, 'dup');

echo "$a = $a; $b = $b; $c = $c; $dup_a = $dup_a;";
?>

출력:

$a = 원본; $c = 말; $dup_a = 고양이;


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