PHP 手册
后退 |  | 前进

# array

(PHP 3, PHP 4, PHP 5)

array -- 新建一个数组

## 说明

array array ( [mixed ...] )

返回根据参数建立的数组。参数可以用 => 运算符给出索引。关于数组是什么的信息请阅读数组一节。

> 注: array() 是一个语言结构，用于字面上表示数组，不是常规的函数。

语法“index => values”，用逗号分开，定义了索引和值。索引可以是字符串或数字。如果省略了索引，会自动产生从 0 开始的整数索引。如果索引是整数，则下一个产生的索引将是目前最大的整数索引 + 1。注意如果定义了两个完全一样的索引，则后面一个会覆盖前一个。

在最后一个定义的数组项目之后加一个逗号虽然不常见，却是合法的语法。

下面的例子演示了怎样建立一个二维数组，怎样给相应的数组指定键名，以及怎样在普通数组中略过和继续数字索引。

例子 1. array() 例子

`<?php $fruits = array ( "fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"), "numbers" => array(1, 2, 3, 4, 5, 6), "holes" => array("first", 5 => "second", "third") ); ?>`

例子 2. array() 的自动索引

`<?php $array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13); print_r($array); ?>`

上例将输出：

`Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 13 [4] => 1 [8] => 1 [9] => 19 )`

注意索引 3 被定义了两次，保留了最后的值 13。索引 4 在 索引 8 之后定义，下一个自动生成的索引（值为 19 那个）为 9，因为最大的索引是 8。

本例建立了从 1 开始的数组。

例子 3. 从 1 开始索引的 array()

`<?php $firstquarter = array(1 => 'January', 'February', 'March'); print_r($firstquarter); ?>`

上例将输出：

    Array
    (
        [1] => January
        [2] => February
        [3] => March
    )

在 Perl 中，可以访问在双引号内的数组的值。但在 PHP 中需要将数组用花括号括起来。

例子 4. 访问双引号内的数组

`<?php $foo = array('bar' => 'baz'); echo "Hello {$foo['bar']}!"; // Hello baz! ?>`

参见 array_pad()，list()，count()，foreach 和 range()。

后退 | 起点 | 前进
array_walk | 上一级 | arsort