おえぷろべい

お絵かきとかプログラミングとか米国株投資についてのなんやかんや

配列について(PHP)

f:id:feci:20210727001932j:plain

PHP7

 

PHP7.4.1における配列について。
はてなブログの仕様で空のブラケットが表示されないので半角スペースを入れています。

<?php

//①複数行を使って配列を作成するパターン
$color[0= '黒';  //0で黒
$color[5= '白';  //5で黒
$color[8= '赤';  //8で黒


//②インデックスを指定せずに配列を作成
$color[ ] = '黒';  //インデックスに0を記入したのと同じ状態
$color[ ] = '白';  //インデックスに1を記入したのと同じ状態
$color[ ] = '赤';  //インデックスに2を記入したのと同じ状態


//③②の配列を一行で作成するパターン
$color = ['黒''白''赤'];       //0で黒、1で白、2で赤


//④③の配列作成の古いバージョンの書き方
$color = array('黒''白''赤');  //0で黒、1で白、2で赤


echo $color;    //データ型であるArrayが出力される
echo $color[ ]; //Fatal error
echo $color[2]; //$colorのインデックス2が割り振られた値を出力

配列とは、1つの変数や定数の中にインデックスで管理された複数の値を格納することです。

 

上記のプログラムは4つとも、$colorのなかに黒と白と赤の3つの値が入っています。

この3つの値はそれぞれ、インデックスと呼ばれる整数の番号で管理されています。

 

①のパターンのように自分でインデックスの値を指定する場合は、必ずしも0からスタートするインクリメント(都度+1)な値を入力する必要はありません。

 

②や③や④のパターンでは、各値のインデックスの値は上の行から順番に0++となります(0からスタートして1ずつ順番に増えていく)。

 

④のパターンはPHP5以前の配列の作り方です。

PHP7以降もこの記述法で配列は作れますが、特に理由がない限りは配列の作成は③のパターンでいいように思います。

 

配列の入った変数や定数は、その変数名や定数名を出力するだけでは中の配列データは出力されません。

例えば上記の黒と白と赤の3つの値が入った$colorをブラケットを付けずにechoで出力してやると、データ型であるArrayという文字列が出力されます。

 

また変数定数名にブラケットを付けてもインデックスを指定しなかった場合は、PHPはFatal errorを吐いてその時点でプログラムを強制終了します。

 

 

以上です。