트랙
/
PHP
PHP
/
연습 문제
/
언어 목록
언어 목록

언어 목록

학습 연습 문제

소개

배열

PHP의 배열은 순서가 있는 맵이에요. 맵은 키를 값에 연결하는 데이터 구조예요. 배열은 다재다능해서 C나 Java에서처럼 선형 배열로, 또는 리스트 [vector], 해시 테이블, 딕셔너리, 컬렉션, 스택, 큐로 다룰 수 있어요.

키는 선택 사항이지만, 지정한다면 int나 string이어야 해요. 키를 제공하지 않으면 PHP는 0부터 시작해서 커지는 순서의 정수 키를 기본으로 사용해요.

$no_keys = ["my", "first", "array"];
$integer_keys = [0 => "my", 1 => "first", 2 => "array"];

$no_keys == $integer_keys // => equal returns true
$no_keys === $integer_keys // => strictly equal returns true

배열은 모든 타입의 값을 저장할 수 있어요. 값마다 타입이 달라도 괜찮아요.

배열 사용하기

배열은 리터럴로 선언하거나(위에서처럼 코드에 직접 작성하는 방식), 함수로 만들어서 다룰 수 있어요. 인덱스 연산자로 값을 접근하고, 할당하고, 추가해요:

$prime_numbers = [2, 3, 5, 6];

$prime_numbers[3] = 7; // replace 6 with 7

$prime_numbers[] = 11; // array now contains [2, 3, 5, 7, 11]

가변 길이 인자

함수 인자는 개수에 상관없이 여러 인자를 받을 수 있도록 지정할 수 있어요:

<?php

function actOnItems(...$items) {
  // $items is an array containing 0 or more values
  // used to call the function.
}

actOnItems(1, 2, 3, 4); // $items => [1, 2, 3, 4]

지침

이 연습 문제에서는 프로그래밍 언어 배열을 다루는 몇 가지 함수를 구현해요.

1. 빈 언어 배열을 반환하는 함수를 정의해요

인자를 받지 않고 빈 배열을 반환하는 language_list 함수를 정의해요.

<?php

language_list();
// => []

2. 여러 개의 언어로 배열을 만드는 함수로 수정해요

language_list 함수를 수정해서 언어(문자열)를 가변 인자로 받도록 해요. 그러면 전달받은 언어들이 담긴 배열을 반환해요.

<?php

$language_list = language_list();
// => []
$language_list = language_list("Clojure", "PHP");
// => ["Clojure", "PHP"]
$language_list = language_list("PHP", "Haskell", "Java", "C++", "Rust")
// => ["PHP", "Haskell", "Java", "C++", "Rust"]

3. 배열에 언어를 추가하는 함수를 정의해요

언어 배열과 새 언어, 이렇게 두 개의 인자를 받는 add_to_language_list 함수를 정의해요.

<?php

$language_list = language_list();
// => []
$language_list = add_to_language_list($language_list, "Clojure");
// => ["Clojure"]

4. 언어 배열에서 항목을 제거하는 함수를 정의해요

언어 배열에서 첫 번째 언어를 제거하는 prune_language_list 함수를 정의해요.

<?php

$language_list = language_list("PHP");
// => ["PHP"]
$language_list = prune_language_list($language_list);
// => []

5. 배열의 첫 번째 항목을 가져오는 함수를 정의해요

인자 하나(언어 배열)를 받는 current_language 함수를 정의해요. 이 함수는 배열의 첫 번째 언어를 반환해요. 배열에는 항상 항목이 적어도 하나는 있다고 가정해요.

<?php

$language_list = language_list("PHP", "Prolog");
// => ["PHP", "Prolog"]
$first = current_language($language_list);
// => "PHP"

6. 배열에 언어가 몇 개 있는지 반환하는 함수를 정의해요

인자 하나(언어 배열)를 받는 language_list_length 함수를 정의해요. 이 함수는 배열에 있는 언어의 개수를 반환해요.

<?php

$language_list = language_list("PHP", "Prolog", "Wren");
// => ["PHP", "Prolog", "Wren"]
language_list_length($language_list);
// => 3
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
PHP Exercism

언어 목록 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 PHP 트랙을 개념 11개연습 문제 122개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.