Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP에서 연관 배열 생성하기 – array_push() 없이 [] 대괄호로 간단하게!

PHP에서 연관 배열(associative array)을 생성하거나 새로운 항목을 추가할 때는 [] 대괄호를 사용하는 것이 가장 간단하고 직관적입니다. 굳이 array_push() 함수를 사용할 필요가 없습니다.

array_push()는 주로 일반 인덱스 배열의 끝에 값을 덧붙일 때 유용한 함수입니다. 반면 키(key)와 값(value)이 한 쌍으로 구성된 연관 배열에는 대괄호 문법이 훨씬 깔끔합니다. 배열 변수 뒤에 []를 붙여 새로운 연관 배열을 바로 할당하기만 하면 됩니다.

예제 코드

<!DOCTYPE html>
<html>
<body>
<?php
$emp= (object) [
    'employeeId'=>"101",
    'employeeFirstName'=>"John",
    'employeeLastName'=>"Doe",
    'employeeCountryName'=>"AUS"
];
$employeeDetails[] = [
    'emp_id' => $emp->employeeId,
    'emp_first_name' => $emp->employeeFirstName,
    'emp_last_name' => $emp->employeeLastName,
    'emp_country_name' => $emp->employeeCountryName
];
print_r(array_values($employeeDetails));
?>
</body>
</html>

코드 설명

위 예제의 동작 순서는 다음과 같습니다.

1. 먼저 직원 정보(사번, 이름, 성, 국가)를 담은 객체 $emp를 생성합니다.
2. $employeeDetails[]처럼 대괄호를 활용해 객체 속성값들을 키-값 쌍으로 가지는 연관 배열을 새로 추가합니다.
3. 마지막으로 array_values()로 배열의 인덱스를 정리한 후 print_r()을 통해 결과를 출력합니다.

출력 결과

Array ( [0] => Array ( [emp_id] => 101 [emp_first_name] => John [emp_last_name] => Doe [emp_country_name] => AUS ) )

이처럼 [] 대괄호만으로도 연관 배열을 손쉽게 생성하고 확장할 수 있으며, 코드 가독성과 유지보수 측면에서도 array_push()를 사용하는 것보다 유리합니다.