PHP

PHP 連想配列の使い方

2016/02/12

「連想配列」の使い方です。

連想配列とは、配列の添え字(キー)に数値ではなく、文字列で名前を付けた配列のことです。
添え字を文字列で付けるには、配列に入れる中身の前に「"添え字"=>」とします。
例として、名前、電話番号、メールアドレスを配列として変数$statusに入れてみます

<?php
    $status = array("name"=>"tanaka", "tel"=>"090-0000-0000", "email"=>"xxxxx@xxx.com");
?>

連想配列の中身を取り出すには変数の後に[]を付けて中に添え字を書きます。
添え字は文字列の場合、ダブルクォーテーションかシングルクォーテーションで囲む必要があります。

<?php
    $status = array("name"=>"tanaka", "tel"=>"090-0000-0000", "email"=>"xxxxx@xxx.com");
    echo "私の名前は".$status["name"]."です<br>";
    echo "私の電話番号は".$status["tel"]."です<br>";
    echo "私のメールアドレスは".$status["email"]."です";
?>

» 実行結果

1つだけ中身を入れ替える場合は、通常の配列と同じように変数の後に[]を付けてその中に添え字を書きます。

<?php
    $status = array("name"=>"tanaka", "tel"=>"090-0000-0000", "email"=>"xxxxx@xxx.com");
    
    // 実は名前がsasakiでした
    $status["name"] = "sasaki";

    echo "私の名前は".$status["name"]."です<br>";
    echo "私の電話番号は".$status["tel"]."です<br>";
    echo "私のメールアドレスは".$status["email"]."です";
?>

» 実行結果

添え字をつけた値とつけていない値を同時に配列に入れた場合、どうなるかを見てみましょう。
先程の例の最初に10を、最後に数値の100を追加しました。var_dump()で表示してみます。

<?php
    $status = array(10, "name"=>"tanaka", "tel"=>"090-0000-0000", "email"=>"xxxxx@xxx.com",100);
    var_dump($status);
?>

» 実行結果
添え字が[0]→[name]→[tel]→[email]→[1]の順番に並んでいますね。書かれた順番通りです。配列の順番はforeachなどで取り出す時に重要になってきますのでどのようになるか覚えておきましょう。
foreachについては「foreachの使い方」をご覧ください。

-PHP