PHP 配列とは
配列
変数が多く煩雑にならないように配列を使用する。
(例)
<?php
$sunday = '日';
$monday = '月';
:(略)
$saturday = '土';
?>
これを配列で記述すると↓
<?php
$week = array('日','月','火','水','木','金','土');
?>
【配列の書き方】
$配列名 = array('値1','値2','値3';)
【配列の値の呼び出し方】
$配列名[数字] ※この数字を「添字」または「キー」と呼ぶ。
要素の番号は「0」から始まるため、$weekの配列の「月」を呼び出したい場合は$week[2]ではなく$week[1]と指定する。
(例1)
<?php $week = array('日','月','火','水','木','金','土'); ?>
<?php echo $week[4]; ?>
→ 木 と出力される
(例2)
<?php
$img = array(
'500',
'350',
);
?>
<img src="<?php echo $img[0] ?>" width="<?php echo $img[1] ?>" height="<?php echo $img[2]; ?>">
→ <img src="http://example/sample.jpg" width="500" height="350"> と出力される。
連想配列
上記のように配列を数字で管理すると、どの数字が何を示すのかがわかりにくいため、各要素に名前をつけて管理しやすくする。
【連想配列の書き方】
$配列名 = array(
'要素名A' => '値1',
'要素名B' => '値2',
'要素名C' => '値3',
);
※「=>」はダブルアローという。連想配列に要素名(キー)と値を指定するときに使用。比較演算子とは異なるので注意。要素名と値は文字列の扱いになるため、シングルクォート(')で囲むこと。
【連想配列の呼び出し方】
$配列名['要素名']
(例)
<?php
$img = array(
'url' => 'http://example/sample.jpg',
'width' => '500',
'height' => '350',
);
?>
<img src="<?php echo $img['url'] ?>" width="<?php echo $img['width'] ?>" height="<?php echo $img['height']; ?>">
→ <img src="http://example/sample.jpg" width="500" height="350"> と出力される。
配列に要素を追加する
$配列名[ ] = '値'; ※通常の配列(数字で管理)
$配列名['要素名'] = 値; ※連想配列(要素名で管理)
(例1)
<?php
$week = array('日','月','火','水','木','金');
$week[] = '土'; ※[ ]内に内も記述しなければ、配列の最後に追加される。
?>
→指定された配列の結果としては<?php $week = array('日','月','火','水','木','金','土'); ?>と同様になる。仮に $week[0] = '土'; とした場合は、先頭に「土」が追加されるのではなく「日」が「土」に上書きされてしまう。
(例2)
<?php
$img = array(
'url' => 'http://example/sample.jpg'
);
$img['width'] => 500,
$img['height'] => 350; ※ここは数値なのでシングルクォート(')は不要。
?>
→$imgの連想配列に 'width' => '500' と 'height' => '350' が追加されたことになる。