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()를 사용하는 것보다 유리합니다.