【PHP】 「連想配列」の書き方の備忘録(JavaScript と違う!)

この記事は約2分で読めます。
記事内に広告が含まれています

コーディングのイメージ

こんにちは、さち です。

先日、ウェブサイトの作成で久しぶりに「PHP」を使ったのですが、「連想配列」の書き方が JavaScript と違い、少し手間取ってしまいました。

しばらく PHP を使わないでいると同じミスをしそうなので、備忘録としてこの記事を残しておきます。

スポンサーリンク

「連想配列」の書き方

$grade = [
  'kozue'=> '3rd',
  'kaho' => '2nd',
  'ginko'=> '1st'
];

// PHP 5.4未満はこちらの書き方で
$grade = array(
  'kozue'=> '3rd',
  'kaho' => '2nd',
  'ginko'=> '1st'
);

「JavaScript」と形式が似ていますが微妙に違います。注意しましょう。

JavaScript との違い
  • リテラルに使う記号は { } ではなく [ ]
  • 「キー」と「値」の間に使う記号は : ではなく =>

「配列」の書き方

$unit = [
  'Cerise Bouquet',
  'DOLLCHESTRA',
  'Mira-Cra Park!'
];

// PHP 5.4未満はこちらの書き方で
$unit = array(
  'Cerise Bouquet',
  'DOLLCHESTRA',
  'Mira-Cra Park!'
);

「配列」は JavaScript と同じ形式が使えます。

「連想配列」の方だけ形式が違うことが、間違いやすい原因になっている気がします……。

【おまけ】 混ぜて使える

PHP では「配列」と「連想配列」を同じリテラルで書けるため、一つの変数の中に「配列」と「連想配列」を混ぜて記述できます。

$mixshake = [
  'Cerise Bouquet',
    'kozue'=> '3rd',
    'kaho' => '2nd',
    'ginko'=> '1st'
];

echo $mixshake[0];// Cerise Bouquet
echo $mixshake['kozue'];// 3rd

ただ、混在させることにメリットを感じないですし、分かりにくくなってミスの原因になりそうです。私は使わないかな……。

コメント

タイトルとURLをコピーしました