連想配列
連想配列
- 基本的な配列の場合、配列要素の0番目、1番目・・・と添え字に数値を指定して、各要素の値を代入したり取得していましたが、連想配列を使用すると、添え字の代わりに文字列のキーを使用できます
- インデックスに名前をつける
- 中身を連想できるようなインデックスをもつ配列
配列変数名 = array( キー=>値1, キー=>値2, キー=>値3・・・);
連想配列を作成
- 内容が連想できるインデックスをつけておきます
- インデックスと値は「=>」でつなぎます
<?php // 連想配列変数$presentの宣言と初期化 $present = array ( '長崎'=>'チャンポン', '名古屋'=>'手羽先', '沖縄'=>'泡盛' ); // キーを指定して、値を取得します echo $present['長崎']; echo '<br>'; // キーを指定して、値を取得します echo $present['名古屋']; echo '<br>'; // キーを指定して、値を取得します echo $present['沖縄']; echo '<br>';
- 曜日別の売上個数で計算
<?php $sales = array('sun'=>10, 'mon'=>20, 'tue'=>30, 'wed'=>40, 'thu'=>50, 'fri'=>60,'sat'=>70); echo '土日の合計は' . ( $sales['sat'] + $sales['sun'] ) . 'です';
配列操作関数
- PHPは、さまざまな配列操作関数が用意されています
- 関数とは、機能単位の処理のひとかたまりで、期待する値を返してくれます
- 返却される値のことを戻り値と言い、戻り値は用意した変数に代入することができます
配列の要素数を取得(配列の要素数を知る)
- 配列の要素数を調べるときには、count関数を使います
conut( $配列変数名 )
<?php $city[0] = '東京'; $city[1] = '名古屋'; $city[2] = '京都'; $city[3] = '大阪'; $city[4] = '福岡'; ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>配列の要素数を知る</title> </head> <body> <table border="1" width="100"> <tr><th>都市名</th></tr> <?php for ( $i = 0; $i < count( $city ); $i++ ) { echo '<tr><td>' . $city[$i] . '</td></tr>' . "\n"; } ?> </table> </body> </html>
配列の値の取得
- 配列の各要素の値を取得するには、代入と同様に添え字を使って、各要素にアクセスします
$配列名[キー]で取り出す
<?php // 配列変数$nameの宣言と初期化 $city = array( '東京', '千葉', '神奈川' ); // "東京"を出力します echo $city[0] . '<br>'; // "千葉"を出力します echo $city[1] . '<br>'; // "神奈川"を出力します echo $city[2] . '<br>';
for文を使う
<?php $color = array ( 'red', 'olive', 'yellow', 'green', 'blue', 'purple' ); for ( $i = 0; $i <= 5; $i++ ){ echo $color[$i] . '<br>'; }
count関数を使う
- 配列の要素数調べて利用する
<?php $color = array ( 'red', 'olive', 'yellow', 'green', 'blue', 'purple' ); $c = count ( $color ); for ( $i = 0; $i <= $c-1; $i++ ){ echo $color[$i] . '<br>'; }
list関数を使う
- 配列の要素と同じ順番で、指定した変数に値を代入します
list( 変数1, 変数2, 変数3・・・ ) = 配列変数名
<?php $a = array( 'きつね', 'ねこ', 'こあら' ); list( $x, $y, $z ) = $a; echo $x . 'と' . $y . 'と' . $z;
<?php // 配列変数$food_dataの宣言と初期化 $food_data = array ( 'たこ焼き', '8個', '350円' ); // 配列要素を各変数に代入 list ( $food, $count, $price ) = $food_data; echo $food . '<br>'; echo $count . '<br>'; echo $price . '<br>';
print_r関数を使う
- 「print_r」は、変数に関する情報を表示する関数です
- 「print_r」の引数に配列を指定すると、すべての要素の「キー」と「値」をわかりやすい形式で表示します
- 配列の値を表示したいだけなら「print_r」を使うことが最も簡単です
<?php $color = array( 'red', 'olive', 'yellow', 'green', 'blue', 'purple' ); echo '<pre>'; print_r( $color ); echo '</pre>';