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(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_pad()list()count()foreachrange()