配列

array関数(要素1,要素2,要素3,要素・・・)で配列を作る。

まず配列の変数名の中身にarray関数を使い複数の要素(データ)を収納する。
要素を表示する場合は以下の通りとなる

<?php 
$name = array("なんでも","かんでも","どれでも");
print $name[0].'<br>'."\n";
print $name[1].'<br>'."\n";
print $name[2].'<br>'."\n";
?>

出力結果

なんでも
かんでも
どれでも

配列名をクラス名として続く[]の中身を0から始まる出席番号とイメージすれば分かりやすいかも。

for関数の繰り返しの例

<?php 
$name = array("なんでも","かんでも","どれでも");
for($i=0;$i<=2;$i++){
  print($name[$i].'</br>'."\n");
  }
?>

キーによる配列

番号ではなくキーワード(文字列=キー)で紐づける。この場合[]の中身がキー。

<?php 
$itemBox['X']='エックス';
$itemBox['Y']='ワイ';
$itemBox['Z']='ゼット';

print $itemBox['Y'];
?>

出力結果

ワイ

連想配列を使って一括してキーと要素を紐付ける。

array('キー名'=>要素内容...)と記述。

<?php 
$tokusanbutu =  array('茨城'=>'納豆',
           '千葉'=>'びわ',
           '埼玉'=>'草加せんべい');
print $tokusanbutu['茨城'];
?>

出力結果

納豆

配列の中身(キーなし)を全て表示する方法...for関数の場合。

0から始まる順番表示でfor関数で出す方法。

<?php 
$name = array("なんでも","かんでも","どれでも");
for ($cnt=0;$cnt<=2;$cnt++){
	print $name[$cnt].'<br>'."\n";	
	}
?>

出力結果

なんでも
かんでも
どれでも

配列の中身(キーなし)を全て表示する方法...foreach関数の場合。

<?php 
$name = array("なんでも","かんでも","どれでも");
foreach ($name as $value){
	echo $value.'<br>'."\n";
	}
?>

出力結果

なんでも
かんでも
どれでも

配列の中身(キーあり)を全て表示する方法...foreach関数の場合。

順番ではなくキーで紐付けられるとfor関数だと表示できないのでforeach関数を使う。
foreach($配列名 as $キーワード変数名 => $要素変数名)としてキーワードと要素の変数名を宣言する。

<?php 
$tokusanbutu = array('茨城'=>'納豆','千葉'=>'びわ','埼玉'=>'草加せんべい');
foreach($tokusanbutu as $ken => $food){
	echo '[インデックス名]='.$ken.'。[値]='.$food.'。<br>'."\n";
	}
?>

出力結果

[インデックス名]=茨城。[値]=納豆。
[インデックス名]=千葉。[値]=びわ。
[インデックス名]=埼玉。[値]=草加せんべい。

なお、キーワード変数名は一般的にインデックス名という。

連想配列の値からキーを取得する方法

指定の食べ物(値)がどこ($target)の特産物(配列名=$tokusanbutu)かを調べたいときは
array_search (値、$配列名)を使う。
では「納豆」が何処の特産物かを知れ安部手見よう。

<?php 
$tokusanbutu = array('茨城'=>'納豆','千葉'=>'びわ','埼玉'=>'草加せんべい');
$target = array_search ( '納豆', $tokusanbutu );
print $target;
?>

出力結果

茨城

配列の要素数をcount関数で数え上げる

配列の要素数を目視で数えるとイージーミスが発生する上、ちょっと手間なのでcount($配列名)を使用する。

分かってるけどポリスのメンバーは羅列してみよう。

<?php 
$police = array('スティング','スチュアート・コープランド','アンディ・サマーズ');
for($cnt=0;$cnt <count($police);$cnt++){
	print $police[$cnt].'<br>'."\n";
	}
?>

出力結果

スティング
スチュアート・コープランド
アンディ・サマーズ

The Police

The Police

配列に要素を追加(先付け)

すでにある配列の要素に新しい要素を後付けで加える。

array_unshift(要素を追加したい配列変数名,追加要素1,追加要素2,...)
まず自然数$NaturalNumber (0から数えあげる正の数)に整数$wholeNumber(負の数の要素が含む)にしたい場合。

<?php 
$NaturalNumber = array(0,1,2,3,4,5);
$wholeNumber = array_unshift($NaturalNumber, '-1','-2');
foreach($NaturalNumber as $number){
	echo $number.',&nbsp;';
	}
	echo '<br>配列要素の数は'.$wholeNumber.'個ある。';
?>

出力結果

-1, -2, 0, 1, 2, 3, 4, 5, 
配列要素の数は8個ある。

配列に要素を追加(後付け)

すでにある配列(バンド)の要素(メンバー)を後付けで加える。
例えるなら4人組('ルー・リード','スターリング・モリソン','モーリン・タッカー','ジョン・ケイル')
ヴェルヴェット・アンダーグラウンド($VelvetUnderground)にニコが加入した場合、
追加した後の要素数が入る変数名=array_push(要素を追加したい配列変数名,追加要素1,追加要素2,...)とする。

<?php 
$VelvetUnderground = array('ルー・リード','スターリング・モリソン','モーリン・タッカー','ジョン・ケイル');
$VelvetUndergroundAndNico = array_push($VelvetUnderground, 'ニコ');
foreach($VelvetUnderground as $member){
	echo $member.'<br>'."\n";
	}
	echo $VelvetUndergroundAndNico."";
?>

出力結果

ルー・リード
スターリング・モリソン
モーリン・タッカー
ジョン・ケイル
ニコ
5名 

Velvet Underground & Nico

Velvet Underground & Nico

list関数で作った変数と配列の要素を順番どおり入れる。

array(1番目の要素、2番目の要素、3番目の要素…)を

list(1番目の変数、2番目の変数、3番目の変数…)の順番にあわせてそれぞれ代入する。

<?php 
$threeDimension= array('','','奥行き');
list($x,$y,$z) = $threeDimension;
print $x.''.$y.''.$z;
?>

出力結果

横と縦と奥行き

print_r関数で配列の中身を確認する

print_r(配列名)で要素やキー名を確認できる。

<?php 
$threeD= array('','','奥行き');
$threeD_key= array('x'=>'','y'=>'','z'=>'奥行き');
print_r($threeD);
print_r($threeD_key);
?>

出力結果

Array ( [0] => 横 [1] => 縦 [2] => 奥行き ) Array ( [x] => 横 [y] => 縦 [z] => 奥行き )