PHP 마법 학교 21강: 마법 주머니의 비밀 지도, ‘다차원 배열(Multi-dimensional Array)’

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지난 시간에는 글자를 변신시키는 치환 마법을 배웠죠? 오늘은 4강에서 배웠던 보물 상자(배열)보다 훨씬 더 똑똑한 상자를 배워볼 거예요. 바로 상자 안에 또 다른 상자가 들어있는 ‘다차원 배열’ 마법입니다!

PHP 마법 학교 21강: 마법 주머니의 비밀 지도, '다차원 배열(Multi-dimensional Array)'

1. 상자 속의 상자: 다차원 배열이란?

우리가 학교 사물함을 떠올려 볼까요? 큰 사물함 안에 여러 칸이 있고, 각 칸 안에는 또 여러 개의 물건이 들어있죠. 다차원 배열은 이처럼 정보를 아주 질서 정연하게 겹겹이 쌓아두는 방법이에요. 마치 아파트의 ‘층’과 ‘호수’처럼 말이죠!

<?php
  // 마법 학교 반별 학생 명단이에요 (배열 안에 배열이 들어있어요!)
  $magic_classes = array(
    array("해리", "론", "헤르미온느"), // 0번 반 (그리핀도르)
    array("말포이", "크랩", "고일")     // 1번 반 (슬리데린)
  );

  // 0번 반의 2번 학생(헤르미온느)을 불러볼까요?
  echo $magic_classes[0][2] . "! 마법 약 수업 준비해!"; 
?>

2. 이름표가 붙은 2층 상자

숫자 대신 이름표를 붙이면 더 찾기 쉬워요. 연관 배열을 겹쳐서 사용하면, 마치 도서관의 구역별 도서 목록처럼 정보를 관리할 수 있답니다.

<?php
  $students = array(
    "1학년" => array("이름" => "민수", "점수" => 90),
    "2학년" => array("이름" => "영희", "점수" => 95)
  );

  echo "2학년 학생의 이름은 " . $students["2학년"]["이름"] . "입니다.";
?>

3. 왜 이 복잡한 상자가 필요한가요?

우리가 게임을 만들 때 캐릭터의 이름, 공격력, 방어력을 한꺼번에 관리해야 하거나, 바둑판처럼 가로세로 좌표가 있는 판을 만들 때 이 다차원 배열이 필수예요. 정보가 아무리 많아져도 이 비밀 지도가 있으면 절대 길을 잃지 않는답니다.

PHP 마법 학교 21강: 마법 주머니의 비밀 지도, '다차원 배열(Multi-dimensional Array)'

4. 생활 속의 다차원 배열: 우리 집 약 상자

오늘 배운 마법으로 ‘우리 집 보물 지도’를 그려보세요. 거실 서랍장(첫 번째 상자)의 두 번째 칸(두 번째 상자) 안에 있는 장난감을 코드로 표현해 보는 거예요. 아이와 함께 “안방 서랍 1번 칸에는 뭐가 있을까?”라고 퀴즈를 내며 데이터를 구조화하는 능력을 키워보세요.

마치며: 거대한 세상을 정리하는 마법사

다차원 배열을 자유자재로 다루는 마법사는 수만 명의 사용자 정보나 복잡한 게임 지도도 척척 관리할 수 있습니다. 처음엔 조금 어지러울 수 있지만, 차근차근 상자를 열어보는 연습을 하면 어느새 고수 마법사가 되어 있을 거예요. 다음 시간에는 이 상자들을 한꺼번에 정리하는 더 강력한 반복문을 배워볼게요!