2024 年 PHP Conference Japan

array

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

array建立陣列

說明

array(混合 ...$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 使用 array() 建立以 1 為基底的索引

<?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() - 計算陣列或可數物件中的所有元素
  • range() - 建立一個包含一定範圍元素的陣列
  • foreach
  • 陣列 類型

新增註解

使用者貢獻的註解 1 則註解

117
ole dot aanensen at gmail dot com
10 年前
從 PHP 5.4.x 開始,您現在可以使用「短陣列語法」,這就不需要使用這個函式了。

範例 #1「短陣列語法」
<?php
$a
= [1, 2, 3, 4];
print_r($a);
?>

以上範例將輸出:
陣列
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)

範例 #2「短關聯陣列語法」
<?php
$a
= ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
print_r($a);
?>

以上範例將輸出:
陣列
(
[one] => 1
[two] => 2
[three] => 3
[four] => 4
)
To Top