2차원 배열 요소에 접근하기
Coddy PHP 여정의 논리 & 흐름 섹션에 포함된 레슨 — 68개 중 28번째.
이제 2차원 배열을 생성하는 방법을 알았으므로, 다음 단계는 배열에서 특정 값을 가져오는 방법을 배우는 것입니다. 2차원 배열의 요소에 접근하려면 두 개의 인덱스가 필요합니다. 첫 번째는 행(row)을 위한 것이고 두 번째는 열(column)을 위한 것이며, $array[row][column] 구문을 사용합니다.
2차원 배열에서 특정 요소에 접근하는 방법은 다음과 같습니다:
<?php
$products = [
["Laptop", 999.99],
["Mouse", 25.50],
["Keyboard", 75.00]
];
// 첫 번째 제품(Laptop)의 가격에 접근
echo $products[0][1]; // 출력: 999.99
// 두 번째 제품(Mouse)의 이름에 접근
echo $products[1][0]; // 출력: Mouse
?>첫 번째 인덱스 [0]은 첫 번째 행(laptop 배열)을 선택하고, 두 번째 인덱스 [1]은 해당 행 내의 두 번째 요소(price)를 선택합니다. 행과 열을 모두 지정하여 스프레드시트의 특정 셀로 이동하는 것과 같다고 생각하면 됩니다.
이 이중 인덱싱 시스템을 사용하면 격자 모양의 구조에서 원하는 데이터 조각을 정확히 찾아낼 수 있으며, 덕분에 2D 배열은 관련 정보를 행과 열로 정리하는 데 완벽한 도구가 됩니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
챌린지
쉬움세 개의 입력을 받게 됩니다: JSON 형식의 학생 정보 2D 배열, 행 인덱스, 그리고 열 인덱스입니다. 세 입력을 모두 읽고, JSON 문자열을 2D 배열로 변환한 뒤, 지정된 행과 열 인덱스에 있는 요소에 접근하여 해당 요소를 출력하세요.
2D 배열은 각 내부 배열이 [student_name, age, grade]를 포함하는 학생들을 나타냅니다.
입력 형식:
- 첫 번째 줄: 학생 정보를 포함하는 JSON 배열 (예시:
[["Alice",16,85],["Bob",17,92],["Charlie",16,78]]) - 두 번째 줄: 행 인덱스 (정수)
- 세 번째 줄: 열 인덱스 (정수)
예상 출력: 지정된 행과 열 위치에 있는 요소
치트 시트
2차원 배열의 요소에 접근하려면 $array[row][column] 구문과 함께 이중 인덱싱을 사용합니다:
<?php
$products = [
["Laptop", 999.99],
["Mouse", 25.50],
["Keyboard", 75.00]
];
// 첫 번째 제품(Laptop)의 가격에 접근
echo $products[0][1]; // 출력: 999.99
// 두 번째 제품(Mouse)의 이름에 접근
echo $products[1][0]; // 출력: Mouse
?>첫 번째 인덱스는 행을 선택하고, 두 번째 인덱스는 해당 행 내의 열을 선택합니다. 이를 통해 그리드와 같은 구조에서 원하는 데이터를 정확하게 찾아낼 수 있습니다.
직접 해보기
<?php
// JSON 배열 읽기
$jsonInput = trim(fgets(STDIN));
$students = (array)json_decode($jsonInput, true);
// 행 인덱스 읽기
$rowIndex = intval(fgets(STDIN));
// 열 인덱스 읽기
$colIndex = intval(fgets(STDIN));
// TODO: 지정된 행과 열의 요소에 접근하기 위해 아래에 코드를 작성하세요
// 결과 출력
echo $element;
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.