PHP - 연관 배열: 초보자 가이드

안녕하세요, 미래의 PHP 마법사 여러분! 오늘 우리는 PHP 연관 배열의 세계로 흥미로운 여정을 떠납니다. 만약 coding을 전혀 해보지 않았다면 걱정하지 마세요 - 저는 당신의 친절한 안내자가 되어, 단계별로 이를 안내할 것입니다. 이 튜토리얼의 끝을 맺을 때, 당신은 프로처럼 연관 배열을 만들고 조작할 수 있을 것입니다!

PHP - Associative Array

연관 배열이란?

들어가기 전에, 연관 배열이 무엇인지 이해해 보겠습니다. 상상해 봅시다, 아이템을 저장할 수 있는 마법의 상자가 있다고 해요. 하지만 각 아이템을 번호로 부르는 대신, 고유한 레이블을 붙입니다. 이것이 PHP에서 연관 배열의 본질입니다 - 각 값이 특정 키와 연관된 키-값 쌍의 컬렉션입니다.

PHP에서 연관 배열을 선언하는 방법?

기본적인 것으로 시작해 보겠습니다 - 연관 배열을 어떻게 만드는지. PHP에서는 array() 함수나 짧은 문법([])을 사용하여 배열을 선언합니다. 연관 배열의 경우, 각 요소에 대해 키와 값 둘 다 지정합니다.

예제 1: 간단한 연관 배열 만들기

<?php
$fruits = array(
"apple" => "red",
"banana" => "yellow",
"grape" => "purple"
);

// 대안 문법 사용 []
$fruits = [
"apple" => "red",
"banana" => "yellow",
"grape" => "purple"
];
?>

이 예제에서, 우리는 $fruits라는 연관 배열을 만들었습니다. 각 과일(키)은 그 색상(값)과 연관됩니다. => 연산자는 키에 값을 할당하는 데 사용됩니다.

예제 2: 기존 배열에 요소 추가하기

<?php
$fruits = ["apple" => "red", "banana" => "yellow"];

// 새로운 요소 추가
$fruits["orange"] = "orange";

// 기존 요소 수정
$fruits["apple"] = "green";

print_r($fruits);
?>

출력:

Array
(
[apple] => green
[banana] => yellow
[orange] => orange
)

여기서, 우리는 새로운 과일(오렌지)을 배열에 추가하고, 사과의 색상을 변경했습니다. print_r() 함수는 배열의 내용을 표시하는 데 유용합니다.

키를 사용하여 값에 접근하기

이제 우리는 배열을 가지고 있으니, 특정 값을 어떻게检索할까요? 간단합니다 - 키를 사용합니다!

예제 3: 배열 요소에 접근하기

<?php
$fruits = ["apple" => "red", "banana" => "yellow", "grape" => "purple"];

echo "The color of an apple is " . $fruits["apple"];
echo "<br>";
echo "The color of a grape is " . $fruits["grape"];
?>

출력:

The color of an apple is red
The color of a grape is purple

이 예제에서, 우리는 키("apple"과 "grape")를 사용하여 그에 해당하는 값을 접근하고 있습니다. 마법의 상자에게 "사과의 색상은 무엇인가요?"라고 묻는 것과 같습니다.

PHP 연관 배열 반복하기

자주, 당신은 배열의 모든 요소를 거쳐갈 필요가 있습니다. PHP는 여러 가지 방법을 제공하지만, 연관 배열의 경우 가장 일반적인 방법은 foreach 루프입니다.

예제 4: foreach를 사용하여 배열 반복하기

<?php
$student_scores = [
"Alice" => 85,
"Bob" => 92,
"Charlie" => 78,
"Diana" => 96
];

foreach ($student_scores as $student => $score) {
echo "$student scored $score points.<br>";
}
?>

출력:

Alice scored 85 points.
Bob scored 92 points.
Charlie scored 78 points.
Diana scored 96 points.

이 foreach 루프에서, $student는 키(학생 이름)를 나타내고, $score는 값(그들의 점수)을 나타냅니다. 루프는 배열의 각 키-값 쌍을 거쳐가며, 각 요소에 대한 작업을 수행할 수 있습니다.

예제 5: foreach에서 값을만 사용하기

만약에 값만 필요하고 키는 필요하지 않다면, foreach 루프를 간소화할 수 있습니다:

<?php
$fruits = ["apple" => "red", "banana" => "yellow", "grape" => "purple"];

foreach ($fruits as $color) {
echo "I love $color fruits!<br>";
}
?>

출력:

I love red fruits!
I love yellow fruits!
I love purple fruits!

여기서, 우리는 색상에만 관심이 있기 때문에, foreach 루프에서 키를 지정할 필요가 없습니다.

연관 배열에 유용한 함수

연관 배열을 사용할 때 유용한 몇 가지 함수를 살펴보겠습니다:

함수 설명 예제
array_keys() 배열의 모든 키를 반환 $keys = array_keys($fruits);
array_values() 배열의 모든 값을 반환 $colors = array_values($fruits);
count() 배열의 요소 수를 반환 $num_fruits = count($fruits);
in_array() 값이 배열에 존재하는지 확인 if (in_array("red", $fruits)) { ... }
array_key_exists() 키가 배열에 존재하는지 확인 if (array_key_exists("apple", $fruits)) { ... }

예제 6: 배열 함수 사용하기

<?php
$fruits = ["apple" => "red", "banana" => "yellow", "grape" => "purple"];

$fruit_names = array_keys($fruits);
echo "Fruit names: " . implode(", ", $fruit_names) . "<br>";

$fruit_colors = array_values($fruits);
echo "Fruit colors: " . implode(", ", $fruit_colors) . "<br>";

echo "Number of fruits: " . count($fruits) . "<br>";

if (in_array("yellow", $fruits)) {
echo "We have a yellow fruit!<br>";
}

if (array_key_exists("banana", $fruits)) {
echo "We have a banana!<br>";
}
?>

출력:

Fruit names: apple, banana, grape
Fruit colors: red, yellow, purple
Number of fruits: 3
We have a yellow fruit!
We have a banana!

이 예제는 다양한 배열 함수를 사용하여 연관 배열을 조작하고 정보를 추출하는 방법을 보여줍니다.

결론

축하합니다! 지금까지 PHP 연관 배열의 세계로 첫 걸음을 내딛었습니다. 우리는 그들을 만드는 방법, 요소에 접근하는 방법, 반복하는 방법, 그리고 몇 가지 유용한 함수를 사용하는 방법을 다루었습니다. 연습이 완벽을 이루는 열쇠이므로, 이 개념들을 실험해 보지 마세요.

PHP 여정을 계속하면서, 연관 배열이 데이터를 조직하고 조작하는 데 매우 유용하다는 것을 발견할 것입니다. 그들은 PHP의 스위스 아ーノ이 knife처럼 - 다재다능하며, 강력하며, 어떤 프로그래머의 도구箱에도 필수적입니다.

coding을 계속하시고, 호기심을 유지하시고, 행복한 PHP를 만들어 나가세요!

Credits: Image by storyset