PHP Conference Nagoya 2025

array

(PHP 4, PHP 5, PHP 7, PHP 8)

array 新建一个数组

说明

array(mixed ...$values): array

创建数组。关于数组是什么的信息请阅读数组类型,还包含有关替代括号语法([])的详细信息。

参数

values

语法“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() 是一个语言结构,用于字面上表示数组,不是常规的函数。

参见

  • array_pad() - 以指定长度将一个值填充进数组
  • list() - 把数组中的值赋给一组变量
  • count() - 统计数组、Countable 对象中所有元素的数量
  • range() - 根据范围创建数组,包含指定的元素
  • foreach
  • array 类型

添加备注

用户贡献的备注 1 note

up
117
ole dot aanensen at gmail dot com
10 years ago
As of PHP 5.4.x you can now use 'short syntax arrays' which eliminates the need of this function.

Example #1 'short syntax array'
<?php
$a
= [1, 2, 3, 4];
print_r($a);
?>

The above example will output:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)

Example #2 'short syntax associative array'
<?php
$a
= ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
print_r($a);
?>

The above example will output:
Array
(
[one] => 1
[two] => 2
[three] => 3
[four] => 4
)
To Top