PHP의 compact() 함수는 현재 스코프에 존재하는 변수들과 그 값을 하나의 배열로 묶어 생성하는 함수입니다. 변수 이름이 배열의 키(key)가 되고, 변수에 저장된 값이 배열의 값(value)이 됩니다. 이 함수는 주로 여러 개의 개별 변수를 깔끔하게 하나의 배열로 변환할 때 유용하게 사용됩니다.
문법
compact(variable1, variable2)
매개변수
variable1 − 변수 이름을 담은 문자열 또는 변수 이름들이 들어 있는 배열. 필수 요소입니다.
variable2 − 변수 이름을 담은 문자열 또는 변수 이름들이 들어 있는 배열. 선택 요소입니다.
반환 값
compact() 함수는 전달된 모든 변수와 그 값이 포함된 배열을 반환합니다. 만약 지정한 이름의 변수가 존재하지 않으면 해당 항목은 결과 배열에서 자동으로 제외됩니다.
예제
다음은 compact() 함수의 기본적인 사용 예제입니다 −
<?php
$ELE = "Electronics";
$ACC = "Accessories";
$res = compact("ELE", "ACC");
print_r($res);
?>출력
위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −
Array
(
[ELE] => Electronics
[ACC] => Accessories
)예제 2: 배열과 문자열 함께 사용하기
compact() 함수에는 변수 이름 문자열뿐만 아니라 변수 이름들을 담은 배열도 함께 전달할 수 있습니다. 아래 예제를 살펴보겠습니다 −
<?php
$name = "Tom";
$subject = "Hanks";
$id = "001";
$details = array("name", "subject");
$res = compact($details, "id");
print_r($res);
?>출력
위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −
Array
(
[name] => Tom
[subject] => Hanks
[id] => 001
)이처럼 compact() 함수를 활용하면 여러 변수를 손쉽게 하나의 연관 배열로 변환할 수 있어, 데이터를 함수에 전달하거나 템플릿 엔진에 넘길 때 특히 편리합니다.