轨道
/
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函数,它接受 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,全部免费。