PHPの連想配列の使い方を纏めてみた

こんにちは、@yoheiMuneです。今日は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の学習を頑張ろっと。
最後になりますが、以下サイトを運営しています。もし良ければご参照ください。
HTML5LearnersHTML5を学び合うFacebookPage
HTML5サンプルページ:作成したサンプルを載せているサイト
YoheiM.NET:技術情報を中心に情報発信サイト

cooking_bot:料理情報をつぶやくTwitterアカウント