[PHP] 連想配列の使い方を纏めてみた
連想配列とは
キーと値という形で保持出来る配列。Javaでゆうと、java.util.Mapみたいなもの。JavaScriptなど他の言語にもあるデータ形式です。一つのキーに一つの値をひもづける。値を参照する場合には、キーを指定する事で値を参照出来る。こーゆうデータ型なんだ~。ほほほ。
key | value |
apple | 100円 |
orange | 50円 |
peach | 500円 |
連想配列を作成する
連想配列を作成するには色々な方法がありますが、以下2通りが一般的なようです。
// 作り方 その1 $array01 = array(); $array01['apple'] = '100円'; $array01['orange'] = '50円'; $array01['peach'] = '500円';
これは、配列を作成して、一つずつKeyとValueを指定する方法です。
// 作り方 その2 $array02 = array( 'CAR' => '1000円', 'TV' => '2000円', 'PC' => '3000円' );
これは配列を作成するときに、値も設定する方法です。arrayの中で key => value の形で複数の値を指定出来ます。
連想配列に値を追加する
値を追加するには以下のようにします。
// 配列への追加 $array01['grape'] = '300円';
作り方その1と同じようにすれば、値が追加出来るようです。
配列から特定のキーと値を削除する
// 配列から削除
unset($array01['grape']);
unset関数を利用して、配列の特定のキーと値を破棄します。unset関数は配列用の関数というわけではないですが、配列から値を削除するときにも使えるようです。unsetについては以下リンクを参照ください。
http://jp.php.net/manual/ja/function.unset.php
連想配列をソートしてみる
キーによるソートは以下のように実装します。
// キーによるソート(昇順) ksort($array01); // キーによるソート(降順) krsort($array01);
ksort関数を利用して昇順ソート、krsort関数を利用して降順ソート出来ます。
値によるソートは以下のように実装します。
// 値によるソート(昇順) asort($array01); // 値によるソート(降順) arsort($array01);
asort関数を利用して昇順ソート、arsort関数路w利用して降順ソートが実現出来ます。
これらソート用の関数には、第2引数を利用してソートの設定も行えるようです。詳しくは以下リンクをご参照ください。
http://jp.php.net/manual/ja/function.ksort.php
http://jp.php.net/manual/ja/function.krsort.php
http://jp.php.net/manual/ja/function.asort.php
http://jp.php.net/manual/ja/function.arsort.php
連想配列の時のforeach文
連想配列の時のforeach文は以下のように記載するようです。
// 連想配列のforeach文
foreach ($array01 as $key => $value) {
echo "key: $key , value: $value \n";
}
foreachのかっこの中に、$key => $valueと記載する事で、キーと値のどちらにもアクセスすることが出来ます。
最後に
PHPは配列に対する様々な関数が充実している印象を受けました。調べるともっと便利な事がジャンじゃん出てきそう。今後もPHPの学習を頑張ろっと。