본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP 연관 배열 — 키 한 개 시작 완전 정리

by 왕진 2026. 6. 26.
반응형

 

 

Web Development · PHP

PHP 연관 배열 —
키 한 개로 시작

단순 인덱스 대신 의미 있는 키로 값 저장
시작 오늘 분석할 코드

가장 단순한 연관 배열 — "name"이라는 키에 "○철수"를 저장한 후 그 키로 값을 꺼낸다.

<?php $member["name"] = "○철수"; print $member["name"]; ?>
실제 출력 미리보기
○철수
데이터 구조 시각화
"name""○철수"

용어 핵심 키워드
연관 배열키-값 쌍 — 다른 언어의 hash/dict
key (키)값을 식별하는 이름 (문자열 또는 숫자)
value (값)키에 연결된 데이터
$arr["key"]키로 값에 접근/대입
자동 생성처음 대입 시 변수도 같이 생성
인덱스 배열키가 0,1,2...인 일반 배열

1 인덱스 배열과 연관 배열
  • 인덱스 배열 — 키가 자동 0, 1, 2 ...
    $arr[0] = "사과"; $arr[1] = "배"; print $arr[0];
  • 연관 배열 — 키를 직접 지정 (의미 있는 이름)
    $arr["name"] = "철수"; print $arr["name"];
💡 PHP의 특이점 — 사실 PHP에서는 둘 다 같은 자료형이다 (모두 array). 다른 언어처럼 dict와 list가 따로 있는 게 아니다.

2 자동 생성

본 코드는 $member먼저 선언하지 않았다. 그냥 $member["name"] = "○철수"로 대입했더니 PHP가 자동으로:

  • $member 변수를 빈 배열로 만들고
  • 그 안에 "name" => "○철수" 한 쌍을 넣었다

다른 언어(Python, JS)도 같은 패턴이 흔하다. 명시적 선언을 안 해도 동작.


3 키 = "이름이 있는 인덱스"

왜 "name"이라는 키를 쓰는가? 코드의 의도를 명확하게 드러내기 위해서다.

// ❌ 인덱스 배열 — 0번이 무엇인지 모름 $member[0] = "○철수"; $member[1] = 25; $member[2] = 170; // ✅ 연관 배열 — 의미가 명확 $member["name"] = "○철수"; $member["age"] = 25; $member["tall"] = 170;

 

반응형

 

4 키로 값 꺼내기

대입과 같은 문법으로 값을 꺼낸다.

// 대입 $member["name"] = "○철수"; // 꺼내기 print $member["name"]; // "○철수" // 큰따옴표 안에서 꺼내기 (보간) print "이름은 {$member['name']} 입니다.";
💡 중괄호 보간 — 큰따옴표 안에 배열 요소를 넣을 때는 {$arr['key']}로 명시하는 게 표준. 그냥 $arr[key]는 일부 PHP 버전에서 경고가 나온다.

5 키로 쓸 수 있는 자료형
  • 문자열"name", "user_id" (가장 흔함)
  • 정수0, 1, 42 (인덱스 배열)
  • "3"이라는 문자열 → 정수 3으로 자동 변환
  • true/false/null → 1/0/"" 로 자동 변환
  • float, 객체, 배열 → 키로 사용 불가 (오류)

6 자주 쓰는 사례
  • 회원 정보 — name, age, email, phone
  • 설정값 — db_host, db_user, db_pass
  • JSON 응답 — 키-값 쌍 그대로 반환
  • $_GET, $_POST — 자동으로 연관 배열로 들어옴

핵심 한 줄 요약

$arr["key"] = val키-값 한 쌍 저장
$arr["key"]같은 문법으로 값 꺼내기
자동 생성변수 미리 선언 불필요
키 = 의미코드의 의도가 분명해짐
PHP 특이점인덱스/연관 같은 자료형

Tags

#PHP #연관배열 #associative-array #key-value #자동생성 #해시맵 #백엔드 #CSS #HTML #웹개발 #티스토리
▼ 티스토리 태그 입력란 복사용
PHP, 연관배열, associative-array, key-value, 자동생성, 해시맵, 백엔드, CSS, HTML, 웹개발, 티스토리
반응형

댓글