2차원 배열 요소 수정하기
Coddy PHP 여정의 논리 & 흐름 섹션에 포함된 레슨 — 68개 중 29번째.
2차원 배열의 요소에 접근할 수 있게 되면, 다음 논리적 단계는 그 값을 변경하는 방법을 배우는 것입니다. 2차원 배열의 요소를 수정하는 것은 접근할 때와 동일한 이중 인덱싱 구문을 사용하지만, 새로운 값을 설정하기 위해 할당 연산자를 사용합니다.
2차원 배열에서 특정 요소를 수정하는 방법은 다음과 같습니다:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
// 중앙 셀을 'X'로 변경합니다
$gameBoard[1][1] = "X";
// 왼쪽 상단 모서리를 'O'로 변경합니다
$gameBoard[0][0] = "O";
?>$gameBoard[1][1] = "X" 구문은 1행 1열(3x3 그리드의 중앙)을 대상으로 하며 해당 위치에 "X" 값을 할당합니다. 이는 원래 배열을 직접 수정하여 이전에 있던 어떤 값이든 대체합니다.
이 수정 기술은 게임 상태를 업데이트하거나, 테이블의 데이터를 변경하거나, 그리드와 같은 데이터 구조 내의 특정 위치를 변경해야 하는 모든 시나리오에 필수적입니다. 정확한 위치를 찾아내고 업데이트하는 기능 덕분에 2D 배열은 행과 열로 구성된 동적이고 변경 가능한 정보를 표현하는 데 완벽합니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
챌린지
쉬움네 개의 입력을 받게 됩니다: JSON 형식의 좌석 배치도를 나타내는 2차원 배열, 행 인덱스, 열 인덱스, 그리고 새로운 승객 이름입니다. 네 개의 입력을 모두 읽고, JSON 문자열을 2차원 배열로 변환한 뒤, 지정된 행과 열의 요소를 새로운 승객 이름으로 수정하고, print_r()을 사용하여 업데이트된 2차원 배열을 출력하세요.
2차원 배열은 각 요소가 승객 이름 또는 빈 좌석을 나타내는 빈 문자열을 포함하는 좌석 배치도를 나타냅니다.
입력 형식:
- 첫 번째 줄: 좌석 배치도를 나타내는 JSON 배열 (예시:
[["Alice","Bob",""],["","Charlie","Diana"],["","",""]]) - 두 번째 줄: 행 인덱스 (정수)
- 세 번째 줄: 열 인덱스 (정수)
- 네 번째 줄: 새로운 승객 이름 (문자열)
예상 출력: print_r()을 사용하여 표시된 수정된 2차원 배열
치트 시트
2차원 배열의 요소를 수정하려면 대입 연산자와 함께 이중 인덱싱 구문을 사용하세요:
$array[row][column] = newValue;게임 보드를 수정하는 예시:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
// 중앙 셀을 'X'로 변경
$gameBoard[1][1] = "X";
// 왼쪽 상단 모서리를 'O'로 변경
$gameBoard[0][0] = "O";
?>이것은 원래 배열을 직접 수정하여 지정된 위치의 값을 대체합니다. 이 수정 기술은 행과 열로 구성된 동적 데이터를 업데이트하는 데 필수적입니다.
직접 해보기
<?php
// 입력 읽기
$json_input = trim(fgets(STDIN));
$row_index = intval(fgets(STDIN));
$col_index = intval(fgets(STDIN));
$new_passenger = trim(fgets(STDIN));
// JSON을 2차원 배열로 변환
$seating_chart = (array)json_decode($json_input, true);
// TODO: 좌석 배치도를 수정하는 코드를 아래에 작성하세요
// 수정된 배열 출력
print_r($seating_chart);
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.