array

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

array 新建一个数组

说明

array ( mixed $... = ? ) : array

创建一个数组。关于数组是什么的信息请阅读数组一节。

参数

...

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

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

返回值

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

范例

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

示例 #1 array() 例子

<?php
$fruits 
= array (
    
"fruits"  => array("a" => "orange""b" => "banana""c" => "apple"),
    
"numbers" => array(123456),
    
"holes"   => array("first"=> "second""third")
);
?>

示例 #2 array() 的自动索引

<?php
$array 
= array(1111,  1=> 1,  => 119=> 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(=> '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() - 计算数组中的单元数目,或对象中的属性个数
  • range() - 根据范围创建数组,包含指定的元素
  • foreach
  • The array type