配列
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']; ?>
出力結果
ワイ
連想配列を使って一括してキーと要素を紐付ける。
<?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"; } ?>
出力結果
スティング スチュアート・コープランド アンディ・サマーズ
- アーティスト: Police
- 出版社/メーカー: Polydor
- 発売日: 2007/06/11
- メディア: CD
- クリック: 1回
- この商品を含むブログを見る
配列に要素を追加(先付け)
すでにある配列の要素に新しい要素を後付けで加える。
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.', '; } 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名
- アーティスト: The Velvet Underground
- 出版社/メーカー: A&M
- 発売日: 1996/05/07
- メディア: CD
- 購入: 4人 クリック: 106回
- この商品を含むブログ (203件) を見る
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] => 奥行き )