반응형
Web Development · PHP list (재확인)
PHP list() 재확인 —
배열을 한 번에 여러 변수로 분해
["사과","귤","감"] → $f0="사과", $f1="귤", $f2="감"
시작 오늘 분석할 코드
<?php $data = array("사과", "귤", "감"); list($fruit0, $fruit1, $fruit2) = $data; // 위는 다음 세 줄과 동일 // $fruit0 = $data[0]; // $fruit1 = $data[1]; // $fruit2 = $data[2]; print $fruit0; print "<br>"; print $fruit1; print "<br>"; print $fruit2; print "<br>"; ?>
사과
귤
감
귤
감
32번 폴더의 return2 글에서 한 번 본 list의 다른 사용 예. 함수 호출 결과뿐 아니라 일반 배열에도 그대로 쓸 수 있다.
용어 용어 정리
list()배열을 여러 변수에 분해 할당
분해 할당한 자료구조를 여러 변수에 풀어 담는 것
대안 [ ]PHP 7.1+ 짧은 분해 문법
키 분해["k" => $v] 형식으로 연관 배열 처리
중간 건너뛰기list(, , $z) — 빈자리
중첩 분해list(list($a, $b), $c) — 2차원 배열
받는 변수 수배열 길이보다 많으면 null
실용성다중 반환·튜플 분해 등에 유용
1 list() 문법 — 두 가지
옛 방식 list (이 코드)
list($a, $b, $c) = $arr;모든 PHP 버전 지원
짧은 방식 [ ] (PHP 7.1+)
[$a, $b, $c] = $arr;짧고 자바스크립트와 비슷
두 문법은 동일하게 동작한다. PHP 7.1 이후엔
[ ]를 더 권장.2 일반 대입과의 비교
// 같은 일을 하는 두 방식 // 방식 1 - list 사용 list($f0, $f1, $f2) = $data; // 방식 2 - 인덱스로 한 줄씩 $f0 = $data[0]; $f1 = $data[1]; $f2 = $data[2];
list가 한 줄이라 가독성·간결함에서 유리하다.
3 활용 — 좌표·튜플 형태 데이터
$point = [10, 20]; [$x, $y] = $point; // $x=10, $y=20 $rgb = [255, 100, 50]; [$r, $g, $b] = $rgb; // 색상 풀기 // 일부만 받기 [, , $b] = $rgb; // $b=50 만
반응형
4 키 분해 (PHP 7.1+)
$user = ['name' => '김철수', 'age' => 30]; ['name' => $name, 'age' => $age] = $user; // $name = "김철수", $age = 30
연관 배열에서도 깔끔히 분해할 수 있다. JS의 const {name, age} = user;와 비슷.
5 자주 하는 실수
| 실수 | 증상 | 해결 |
|---|---|---|
| 변수 개수가 배열보다 많음 | 모자라는 자리는 null | 의도 확인, 또는 짧게 받기 |
| 연관 배열에 list만 사용 | 모두 null | 키 분해 ["키" => $v] 사용 |
| foreach에서 list 사용 가능? | 가능 (2차원 배열일 때) | foreach ($arr as [$a, $b]) |
핵심 한 줄 요약
list()배열을 여러 변수에 한 번에 분해 할당
짧은 문법[ $a, $b, $c ] = $arr (PHP 7.1+)
대등$a=$arr[0]; $b=$arr[1]; ... 한 줄
건너뛰기[ , , $c ] = $arr
키 분해["k" => $v] = $arr (연관 배열)
활용다중 반환, 좌표 풀기, foreach 분해
JS 비유const [a, b, c] = arr 와 동일 개념
반응형
'php' 카테고리의 다른 글
| PHP trim — 문자열 양끝 공백 제거 완전 정리 (0) | 2026.06.15 |
|---|---|
| PHP substr — 문자열 일부 자르기 완전 정리 (0) | 2026.06.15 |
| PHP array_reverse — 배열 순서 뒤집기 완전 정리 (0) | 2026.06.15 |
| PHP array_merge — 두 배열 병합 + 중복 키 덮어쓰기 완전 정리 (0) | 2026.06.15 |
| PHP array_unshift — 배열 앞에 원소 추가 완전 정리 (0) | 2026.06.15 |
왕진 블로그

댓글