學習軌道
/
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. 定義一個函式來將程式語言加入陣列

定義add_to_language_list函式,它接受 2 個引數:一個程式語言陣列,以及新的程式語言。

<?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函式,它接受 1 個引數(一個_程式語言陣列_)。 它應該回傳陣列中的第一個程式語言。 假設陣列中至少會有一個項目。

<?php

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

6. 定義一個函式來回傳陣列中有多少個程式語言

定義language_list_length函式,它接受 1 個引數(一個_程式語言陣列_)。 它應該回傳陣列中程式語言的數量。

<?php

$language_list = language_list("PHP", "Prolog", "Wren");
// => ["PHP", "Prolog", "Wren"]
language_list_length($language_list);
// => 3
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
PHP Exercism

準備好開始 語言清單 了嗎?

註冊 Exercism,透過 11 個概念122 個練習 和真人引導來學習並精通 PHP,全部免費。