Menu
Coddy logo textTech

'array_shift'로 제거하기

Coddy PHP 여정의 논리 & 흐름 섹션에 포함된 레슨. 68개 중 13번째.

array_shift() 함수는 배열에서 첫 번째 요소를 제거하고 제거된 값을 반환합니다. 이는 배열의 시작 부분에 요소를 추가하는 array_unshift()와 반대입니다.

작동 방식은 다음과 같습니다:

<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson;  // 출력: Alice
print_r($queue);    // Outputs: Array ( [0] => Bob [1] => Charlie )
?>

array_shift()가 원래 배열을 수정하는 동시에 제거된 요소를 반환한다는 점에 유의하세요. 첫 번째 요소를 제거하면 남은 모든 요소가 빈 공간을 채우기 위해 자동으로 앞으로 이동합니다. "Bob"은 인덱스 1에서 인덱스 0으로 이동하고, "Charlie"는 인덱스 2에서 인덱스 1로 이동합니다.

이 재인덱싱은 자동으로 수행되므로 배열이 올바른 숫자 순서를 유지합니다. 빈 배열에 array_shift()를 사용하면 오류가 발생하지 않고 null을 반환합니다.

이 함수는 "먼저 들어온 항목을 먼저 처리하는" 순서로 items를 처리하는 큐를 구현할 때 특히 유용합니다. 예를 들어 line에 있는 customers를 처리하거나 받은 순서대로 tasks를 처리할 때 사용할 수 있습니다.

challenge icon

챌린지

쉬움

두 개의 입력을 받습니다. 첫 번째 입력은 JSON 형식으로 줄에서 기다리고 있는 고객들의 초기 배열이고, 두 번째 입력은 서비스를 제공할 고객 수를 나타내는 숫자입니다. 두 입력을 읽고, JSON 문자열을 배열로 변환한 다음, array_shift()를 지정된 횟수만큼 사용하여 줄의 앞에서 서비스를 받은 고객을 제거하고, print_r()를 사용하여 최종 배열을 출력하세요.

입력 형식: 두 줄입니다. 첫 번째 줄에는 JSON 배열이 포함됩니다(예: ["Alice","Bob","Charlie","Diana"]). 두 번째 줄에는 서비스를 제공할 고객 수가 포함됩니다(숫자).

예상 출력: 줄의 앞에서 서비스를 받은 고객을 제거한 후의 배열을 print_r()를 사용하여 표시합니다.

직접 해보기

<?php
// 고객의 JSON 배열을 읽습니다
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);

// 서비스할 고객 수를 읽습니다
$numToServe = intval(fgets(STDIN));

// TODO: 아래에 코드를 작성하세요
// array_shift()를 사용하여 줄 앞쪽에서 고객을 제거합니다


// 최종 배열을 출력합니다
print_r($customers);
?>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 & 흐름의 모든 레슨

직접 연습해 보세요: 온라인 PHP 컴파일러