(PHP 4, PHP 5, PHP 7, PHP 8)
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) は、最大のインデックスが 8 であるため、9 となります。
次の例は、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()は、実際にはリテラル配列を表現するための 言語構造であり、通常の関数ではありません。