PHP - 확장 연산자: 초보자 가이드
안녕하세요, 미래의 PHP 마법사 여러분! 오늘 우리는 PHP 확장 연산자의 세상으로 흥미로운 여정을 떠납니다. 코드를 한 줄도 작성해 본 적이 없어도 걱정하지 마세요 - 나는 여러분의 친절한 안내자가 되겠습니다. 단계별로 함께 진행하겠습니다. 이 튜토리얼의 끝을 맺을 때쯤에는 프로처럼 배열을 확장할 수 있을 것입니다!
확장 연산자는 무엇인가요?
예제로 들어가기 전에, 이 마법적인 "확장 연산자"가 무엇인지 이해해 보겠습니다. PHP에서 확장 연산자는 세 개의 점(...)으로 표현됩니다. 이 것은 마치 마법仗처럼 배열의 요소나 객체의 속성을 "확장"할 수 있습니다. 상상해 보세요. 당신이 컬러풀한 보석이 가득 담긴 상자를 가지고 있고, 그것을 테이블 위에 뿌리기를 원한다면 - 이것이 바로 확장 연산자가 배열 요소들에게 하는 일입니다!
이제 이 작동 방식을 실제 예제를 통해 보겠습니다.
예제 1: 배열 결합
간단한 것으로 시작해 보겠습니다 - 두 개의 배열을 결합하는 것:
$fruits = ['apple', 'banana', 'cherry'];
$vegetables = ['carrot', 'broccoli', 'spinach'];
$healthy_foods = [...$fruits, ...$vegetables];
print_r($healthy_foods);
이 코드를 실행하면 다음과 같이 보입니다:
Array
(
[0] => apple
[1] => banana
[2] => cherry
[3] => carrot
[4] => broccoli
[5] => spinach
)
여기서 무슨 일이 일어났죠? 확장 연산자(...)는 $fruits와 $vegetables의 모든 요소를 가져다가 새로운 배열 $healthy_foods에 뿌렸습니다. 두 상자의 내용을 하나의 더 큰 상자에 담는 것과 같습니다!
예제 2: 배열에 요소 추가
이제 기존 배열에 요소를 추가하는 방법을 보겠습니다:
$colors = ['red', 'blue', 'green'];
$more_colors = ['yellow', ...$colors, 'purple'];
print_r($more_colors);
이는 다음과 같은 출력을 보여줍니다:
Array
(
[0] => yellow
[1] => red
[2] => blue
[3] => green
[4] => purple
)
보세요, 'yellow'를 맨 앞에 추가하고 'purple'를 맨 뒤에 추가하면서 원래 $colors 배열을 중간에 뿌렸습니다. 책의 중간에 한 장을 삽입하는 것과 같습니다!
예제 3: 함수 인수
확장 연산자는 배열만 아니라 함수 인수에도 사용할 수 있습니다. 예제를 보겠습니다:
function make_sandwich($bread, $filling, $sauce) {
return "You made a $filling sandwich with $sauce on $bread bread!";
}
$ingredients = ['whole wheat', 'turkey', 'mustard'];
echo make_sandwich(...$ingredients);
이는 다음과 같은 출력을 보여줍니다:
You made a turkey sandwich with mustard on whole wheat bread!
여기서 확장 연산자는 $ingredients 배열을 풀어서 make_sandwich 함수에 각 요소를 별도의 인수로 전달했습니다. 마치 가방에서 재료를 꺼내어 테이블 위에 펼치는 것과 같습니다!
예제 4: 배열 복사
확장 연산자는 배열의 얕은 복사를 쉽게 만들어 줍니다:
$original = [1, 2, 3];
$copy = [...$original];
$original[0] = 100;
print_r($original);
print_r($copy);
이는 다음과 같은 출력을 보여줍니다:
Array
(
[0] => 100
[1] => 2
[2] => 3
)
Array
(
[0] => 1
[1] => 2
[2] => 3
)
보시다시피, $original을 변경해도 $copy는 영향을 받지 않습니다. 원본이 바뀌어도 사본은 그대로 남아 있습니다!
예제 5: 객체 사용
확장 연산자는 PHP 8.1 이상에서 객체에도 사용할 수 있습니다. 어떻게 되는지 보겠습니다:
$person1 = ['name' => 'Alice', 'age' => 30];
$person2 = ['name' => 'Bob', 'job' => 'Developer'];
$merged_person = [...$person1, ...$person2];
print_r($merged_person);
이는 다음과 같은 출력을 보여줍니다:
Array
(
[name] => Bob
[age] => 30
[job] => Developer
)
'Bob'이 'Alice'를 덮어쓰는 것을 보세요. 객체를 확장할 때 중복된 키가 있으면 뒤에 오는 키가 우선됩니다 - 친절한 인수 합병과 같습니다!
결론
이제 여러분! 우리는 PHP 확장 연산자를 다양한 예제를 통해 탐구했습니다. 배열 결합에서 함수 인수까지, 이 작은 세 개의 점(...)은 여러분의 PHP 도구箱에서 강력한 도구입니다.
기억하세요, 프로그래밍은 연습이 전부입니다. 따라서 이 예제들을 실험하고 수정하고 자신만의 것을 만들어 보세요. 얼마 지나지 않아 프로처럼 배열과 객체를 확장할 수 있을 것입니다!
계속 코딩하고, 배우고, 가장 중요한 것은 PHP를 즐겨보세요!
방법 | 설명 |
---|---|
배열 결합 | Use [...$array1, ...$array2] to combine arrays |
요소 추가 | Use [...$array, 'new_element'] to add elements |
함수 인수 | Use function_name(...$array) to unpack arrays into function arguments |
배열 복사 | Use $copy = [...$original] for shallow copying |
객체 확장 | Use [...$object1, ...$object2] to merge object properties (PHP 8.1+) |
기쁜 코딩을 기원합니다, 확장 연산자와 함께!
Credits: Image by storyset