PHP 数组 (Arrays)

本章讲述 PHP 数组 (Arrays)。

数组的定义

数组表示一组相关联的数据。

在 PHP 中,我们用 array() 定义一个数组。示例如下:

<html>
<body>
<?php
$a = array("orange", "apple","peach");
echo $a[0]; ?>
</body>
</html>

其中,$a = array("orange", "apple","peach"); 定义了一个数组变量,该数组有三个数据。

数组的每个值之间用逗号分隔。

下面的语句echo $a[0] 表示输出数组的第一个值,即"orange"。注意,数组是以0为基数,而不是1。数组变量方括号 [] 里的值,我们称为数组的索引 key

数组是 key-value 一一对应的组合

数组的基本单位是元素 (elements)。每个元素由一对索引(key,也称为“键”) 和值(value) 组成。

每个值,都有一个相对应的索引 (key)。通过指明数组的 key,我们获取相对应的值,比如 $a[0]

前面示例的数组定义方法,是数组定义的一种简写方式,没有定义数组每个值的 key。在缺省情况下,如果不定义数组每个值的 key,key 就从 0 开始每次自动加 1。

$a = array("orange", "apple","peach");
$a = array(0=>"orange", 1=>"apple",2=>"peach");

上面两句代码效果是一样的,第一句没有指定数组的 key,系统就自动给数组的每个值加 key,key 的值从0开始每次加1。第二句代码,是在定义数组的时候,给数组的每个值加赋予对应的 key。

定义数组中一对 key-value 的写法是:key=>value,比如 0=>"orange"表示 key 为 0,对应的值为 "orange"

指定 key 比不指定 key 的写法虽然复杂,但是也给予你设定 key 的自由度,你可以随意设定数组每个值的key。比如:

<html>
<body>
<?php
$a = array(1=>"orange", 3=>"apple",5=>"peach");
echo $a[1];
?>
</body>
</html>

另外,数组的 key 还可以用字符串表示。注意:用字符串作 key,在指明 key 的时候,要加引号。比如:

<html>
<body>
<?php
$a = array("os"=>"Windows XP", "lang"=>"Chinese","sp"=>"Service Pack 3");
echo $a["os"],"<br />";
echo $a["lang"],"<br />";
echo $a["sp"];
?>
</body>
</html>

注:key 只能是整数和字符串

定义数组还可以有另外一种方法,示例如下:

$a["os"] ="Windows XP";
$a["lang"] ="Chinese";
$a["sp"]="Service Pack 3";

效果和$a = array("os"=>"Windows XP", "lang"=>"Chinese","sp"=>"Service Pack 3");一样。

修改数组

增加一个数组元素的语法:

$array_name[key] = value

删除一个数组元素,使用 unset 函数,语法如下:

unset($array_name[key])

增加和删除一个数组元素的示例如下,其中$a["c"] = 300; 表示增加一个 key 为 "c" ,值为300 的数组元素;unset($a["b"]); 表示删除一个 key 为 "b"的数组元素:

<html>
<body>
<?php
$a = array(a=>100, b=>200,d=>500);
$a["c"] = 300;
unset($a["b"]); foreach ($a as $key=> $value)
{
echo $key.": ".$value."<br />";
}
?>
</body>
</html>

该示例的返回结果是:

a: 100
d: 500
c: 300

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值