배열 compact

(PHP 4, PHP 5, PHP 7, PHP 8)

compact — 변수와 그 값을 포함하는 배열 생성


설명

compact(array|string $var_name, array|string ...$var_names): array

변수와 그 값을 포함하는 배열을 만듭니다.

이들 각각에 대해 compact()는 현재 기호 테이블에서 해당 이름을 가진 변수를 찾아 출력 배열에 추가하여 변수 이름이 키가 되고 변수의 내용이 해당 키의 값이 되도록 합니다. 간단히 말해, extract()와 반대입니다.

메모: PHP 7.3 이전에는 설정되지 않은 모든 문자열이 자동으로 건너뜁니다.


매개변수

var_name
var_names
compact()는 다양한 수의 매개변수를 사용합니다. 각 매개변수는 변수 이름을 포함하는 문자열이거나 변수 이름의 배열일 수 있습니다. 배열은 내부에 변수 이름의 다른 배열을 포함할 수 있습니다. compact()는 이를 재귀적으로 처리합니다.

반환 값

모든 변수가 추가된 출력 배열을 반환합니다.


오류/예외

compact()는 주어진 문자열이 설정되지 않은 변수를 참조하는 경우 E_NOTICE 수준 오류를 발행합니다.


변경 로그

버전 설명
7.3.0 지정된 문자열이 설정되지 않은 변수를 참조하는 경우 compact()는 이제 E_NOTICE 수준 오류를 발행합니다. 이전에는 이러한 문자열을 자동으로 건너뛰었습니다.

Examples

예제 #1 compact() 예제

                  
<?php
$city  = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";

$location_vars = array("city", "state");

$result = compact("event", $location_vars);
print_r($result);
?>
                  
                

위의 예는 다음을 출력합니다.

Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)
                

메모

Note: Gotcha

variable variables는 함수 내에서 PHP의 Superglobal 배열과 함께 사용할 수 없기 때문에 Superglobal 배열은 compact()로 전달되지 않을 수 있습니다.


기타

  • extract() - 배열에서 현재 기호 테이블로 변수 가져오기