array

新建一个数组 (PHP 3, PHP 4, PHP 5)
array array ( [mixed ...] )

说明

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

注意:

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

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

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

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

例 270. 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")
);
?>

例 271. 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 开始的数组。

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

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

上例将输出:

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

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

例 273. 访问双引号内的数组

<?php

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

?>

参见 array_pad()list()count()foreachrange()