PHP PHP数组概念与定义

raphael · 2019-11-27 19:34:01 · 热度: 22

传统上把数组(array)定义为一组有某种共同特性的元素,这里的共同特性包括相似性(车模、棒球队、水果类型等)和类型(例如所有元素都是字符串或整数)等,每个元素由一个特殊的标识符来区分,这称为健(key)。

请注意,上面这句话中的传统上一词,因为现在可以摒弃这种定义,数组结构中可以包括完全无关的元素。

PHP则更进一步,数组中的元素甚至可以不属于同一种类型。

例如,一个数组可能包含州名、邮政编码、考试成绩或扑克牌等元素。

每个实体包含两个项:前面提到的健(key)和值(value)。

可以通过查询键来获取其相应的值。这些键可以是数值(numerical) 健或关联(associative)健。

数值键与值没有真正的联系,它们只是值在数组中的位置。

例如,一个数组中包含按字母顺序排列的水果名,键0表示apple,键2表示pear。

使用 PHP 语法,该数组如下:

$fruits    = array(
    "0"=>"apple",
    "1"=>"banana"
    "2"=>"pear"
    );

使用数组索引,可以如下引用第一个元素(apple):

$fruits[0]

PHP的数值索引组以位置0起始,而不是1。

与此不同的是,关联键与值有一定关系,而不是值在数组中的位置。使用数值索引值不可行时,以关联的方式来映射数组会特别方便。

例如,你可能希望创建一个将水果缩写映射到水果名的数组,如AP/appleBA/bananaPE/Pear

使用PHP语法,该数组如下:

$fruits = array(
    "AP"=>"apple",
    "BA"=>"banana",
    "PE"=>"pear"
    );

可以如下引用apple:

$fruits["AP"];

还可以创建包含数组的数组,这称为多维数组(multidimensional arrays)。例如,可以使用一个多维数组存储水果的信息。使用PHP语法,该数组如下:

$fruits = array(
    "apple"=>array(
        "name"=>"apple",
        "color"=>"red"
        ),
    "banana"=>array(
        "name"=>"banana",
        "color"=>"yellow"
        )
);

然后可以如下引用apple的color:

$states["apple"]["color"];

这将返回以下值:

red

你自然会想知道遍历数组的方法。PHP提供了很多遍历数组的方法。

无论使用哪一种方法,要记住,它们都依赖于一种称为数组指针(array pointer)的特性。

数组指针就如同书签,告诉你正在检查的数组位置。你并不是直接操作数组指针,而是使用内置的语言特性或函数来遍历数组。但是,理解这个基本概念很有用。

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册