Kodokon kodokon.com

数组:列表与键值对

把多个值存储在索引数组或关联数组中,并用 PHP 的核心函数来操作它们。

8 分钟 · 3 题

在 Kodokon 中打开本课

数组是一个能够同时容纳多个值的变量,就像一个有很多格子的架子。在索引数组中,每个格子都由一个从 0 开始的索引来编号:因此第一个元素是 $colors[0]。你用方括号 [...] 创建一个数组,用 $colors[index] 读取某个格子,而 $colors[] = ... 这种写法会在末尾添加一个新值。

PHP
<?php

$colors = ["red", "green", "blue"];

echo $colors[0];
echo $colors[2];

$colors[] = "yellow";
$colors[1] = "purple";

echo count($colors);
读取、追加、修改:数量为 4。

有时候数字毫无意义:要描述一个人,用标签更好。关联数组用箭头 =>(读作“对应于”)把一个(一个名字,通常是字符串)与一个关联起来。之后你就通过键来访问值:$user["name"]。它是 PHP 中表示数据的首选结构。

PHP
<?php

$user = [
    "name" => "Awa",
    "age" => 28,
    "city" => "Lyon",
];

echo $user["name"];
echo $user["city"];

$user["age"] = 29;
每个键都通向它的值,就像一本迷你词典。

PHP 提供了数百个开箱即用的数组函数。记住这些核心的:count($array) 返回元素的数量;如果值存在,in_array($value, $array) 会回答 truesort($array) 会就地把数组从小到大排序;implode($glue, $array) 把所有元素连接成一个字符串,用你选定的文本分隔;而 array_keys($array) 返回键的列表。

PHP
<?php

$numbers = [8, 3, 5];
sort($numbers);

echo implode(" - ", $numbers);
echo "<br>";

$guests = ["Awa", "Bruno", "Chloe"];

if (in_array("Bruno", $guests)) {
    echo "Bruno is on the list.<br>";
}

echo count($guests);
显示 3 - 5 - 8,然后检查并统计宾客。

知识检测

确认你已牢记本课的重点内容。

  1. 索引数组第一个元素的索引是多少?
    • 0
    • 1
    • -1
  2. 对于 $user = ["city" => "Lyon"],如何读取值“Lyon”?
    • $user->city
    • $user["city"]
    • $user.city
  3. count($colors) 返回什么?
    • 数组的最后一个元素
    • 数组中元素的数量
    • 数组各个值的总和