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

PHP 연관 배열(Associative Array) 완벽 정리 – 문자열 키와 값의 강력한 연결

연관 배열(Associative Array)은 인덱스를 숫자 대신 문자열로 사용하는 배열입니다. 덕분에 키(key)와 값(value) 사이에 의미 있는 연결을 만들 수 있어, 데이터를 이름 기반으로 직관적으로 다룰 수 있습니다.

일반 배열이 0, 1, 2 같은 숫자 인덱스에 값을 저장한다면, 연관 배열은 'jack', 'tom'처럼 사람이 읽기 쉬운 이름을 키로 지정합니다.

연관 배열의 기본 구조

다음은 키와 값이 쌍(pair)으로 이루어진 연관 배열의 예시입니다.

$arr = array( "p"=>"150", "q"=>"100", "r"=>"120", "s"=>"110", "t"=>"115");

위 코드에서 볼 수 있듯이, 각 키(예: "p")에는 대응하는 값(예: "150")이 할당됩니다.

예제 1: 배열의 첫 번째 값 가져오기

PHP에서 연관 배열을 활용하는 방법은 아래 코드와 같습니다. reset() 함수를 사용하면 배열의 내부 포인터가 첫 번째 요소를 가리키도록 이동하면서 해당 값을 반환합니다.

<?php
   $arr = array( "p"=>"150", "q"=>"100", "r"=>"120", "s"=>"110", "t"=>"115", "u"=>"103", "v"=>"105", "w"=>"125" );
   echo "Value 1 = " .reset($arr);
?>

실행 결과

Value 1 = 150

예제 2: 특정 값 조회 및 수정하기

연관 배열에서는 키를 지정해 특정 값에 바로 접근할 수 있으며, 새로운 키-값 쌍을 동적으로 추가하거나 기존 값을 변경할 수도 있습니다.

<?php
   $salaries = array("jack" => 2000, "qadir" => 1000);
   echo "Salary of jack is ". $salaries['jack'] . "\n";
   $salaries['jack'] = "high";
   $salaries['tom'] = "low";
   echo "Salary of jack is ". $salaries['jack'] . "\n";
?>

실행 결과

Salary of jack is 2000
Salary of jack is high

정리

연관 배열은 문자열 키를 통해 값과의 강력한 연관성을 제공하며, 다음과 같은 장점이 있습니다.

- 가독성 향상: 숫자 인덱스보다 의미 있는 이름으로 데이터를 식별할 수 있습니다.
- 동적 추가/수정: 새로운 키에 값을 할당하면 요소가 자동으로 추가됩니다.
- 직접 접근: 반복문 없이 키만으로 원하는 값에 즉시 접근할 수 있습니다.

추가로, PHP 5.4 이상에서는 더 짧은 문법으로 배열을 선언할 수 있습니다.

$arr = ["jack" => 2000, "qadir" => 1000]; // array() 대신 [] 사용 가능

또한 foreach 루프를 사용하면 모든 키-값 쌍을 손쉽게 순회할 수 있습니다.

foreach ($salaries as $name => $salary) {
   echo "$name : $salary\n";
}