トラック
/
PHP
PHP
/
演習
/
言語リスト
言語リスト

言語リスト

学習演習

はじめに

配列

PHPの配列は、順序付きのマップです。 マップとは、キーと値を対応付けるデータ構造です。 配列は柔軟で、線形の配列(CやJavaのような)、リスト[ベクター]、ハッシュテーブル、辞書、コレクション、スタック、キューとして扱うことができます。

キーは省略できますが、指定する場合は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. 配列に言語を追加する関数を定義します

2つの引数、言語の配列と新しい言語を取る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. 配列の最初の要素を取得する関数を定義します

1つの引数(言語の配列)を取るcurrent_language関数を定義します。配列の最初の言語を返します。配列には必ず1つ以上の要素があるものとします。

<?php

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

6. 配列に含まれる言語の数を返す関数を定義します

1つの引数(言語の配列)を取るlanguage_list_length関数を定義します。配列に含まれる言語の数を返します。

<?php

$language_list = language_list("PHP", "Prolog", "Wren");
// => ["PHP", "Prolog", "Wren"]
language_list_length($language_list);
// => 3
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
PHP Exercism

言語リストを始める準備はできましたか?

Exercismに登録すれば、11個のコンセプト122個の演習、そして本物の人間によるメンタリングとともに、PHPを学んでマスターできます。すべて無料です。