PHPプログラミングで人を幸せにしたい

PHPプログラミングで人を幸せにしたい


PHPプログラミングを勉強中のりょうま堂です。プログラミングは価値あるものを生み出せる数少ない技術。PHPは簡単なので入門に最適ですよ!

PHPの連想配列を使おう-文字列をキーにした配列

PHPプログラミングの基礎

連想配列(文字列をキーにした配列)を使おう

前回のコラムでは、数値をキーにした配列を学びました。
今回は数値ではなく文字列をキーにした連想配列を学んでいきましょう。
「連想配列」という仰々しい名前がつけられていますが、別段難しいことはなく普通の配列のときと変わりありません。
このブログもそうですが、ブログシステムを作成するときにはこの連想配列が欠かせませんので、じっくり練習して理解を深めてください。

PHPの連想配列の作成方法

PHPの通常の配列は、配列の要素に0、1、2・・・と順番にキー番号が振られるものでした。
一方連想配列は、キーに好きな文字列を割り当てることができます。
こちらも言葉で説明するよりも、実際に書いた方がわかりやすいので、以下に例を示します。

//コード1
$fruits = array();
$fruits = array(
  'apple' => 'りんご',
  'orange' => 'オレンジ',
  'grape' => 'ぶどう',
  'pineapple' => 'パイナップル',
);
print_r($fruits);
//コード2
$animals = array();
$animals['dog'] = 'イヌ';
$animals['cat'] = 'ネコ';
$animals['mouse'] = 'ネズミ';
$animals['hippopotamus'] = 'カバ';
print_r($animals);
//コード3
echo '庭の'.$fruits['grape'].'がようやく実をつけた';
echo '一番好きな動物は'.$animals['hippopotamus'].'です';
//コード1
Array ( [apple] => りんご [orange] => オレンジ [grape] => ぶどう [pineapple] => パイナップル )
//コード2
Array ( [dog] => イヌ [cat] => ネコ [mouse] => ネズミ [hippopotamus] => カバ )
//コード3
庭のぶどうがようやく実をつけた
一番好きな動物はカバです

連想配列も通常の配列と書き方は同じです。
コード1、もしくはコード2のような書き方で値の代入をします。
 
連想配列の任意の要素を出力したいときは、コード3のように 変数名['キー'] という形にします。
キーが文字列になりますので、''で囲むのを忘れないようにしてください。

目次にもどる

連想配列を展開する

連想配列のすべての要素を展開してみましょう。
通常の配列のように番号で管理されていないので、ほとんどの場合foreachによる展開になります。

//コード4
foreach($fruits as $key => $value){
  echo $key.'-'.$value.'<br />';
}
apple-りんご
orange-オレンジ
grape-ぶどう
pineapple-パイナップル

「連想」配列という名前にあるように、キーと値を結びつけて展開することが多いです。
foreach構文を使うことで配列内のすべての要素を展開することができます。

目次にもどる

配列を結合する(配列で使える便利な関数)

配列関連の関数はいろいろありますが、よく使うものをご紹介します。
array_merge()関数は、複数の配列同士を結合して一つの配列にまとめる関数です。
ここでは前項で作成した連想配列$fruits、$animalsを結合してみます。

//コード5
$translation = array();
$translation = array_merge($fruits,$animals);
print_r($translation);
//コード6
$honyaku = array();
$honyaku = $fruits + $animals;
print_r($honyaku);
//コード5
Array ( [apple] => りんご [orange] => オレンジ [grape] => ぶどう [pineapple] => パイナップル [dog] => イヌ [cat] => ネコ [mouse] => ネズミ [hippopotamus] => カバ )
//コード6
Array ( [apple] => りんご [orange] => オレンジ [grape] => ぶどう [pineapple] => パイナップル [dog] => イヌ [cat] => ネコ [mouse] => ネズミ [hippopotamus] => カバ )

配列の結合をする際には、もとの配列を保持するために結合用の新しい配列を用意するとよいでしょう。
array_merge()関数を使うほか、コード6のように + 連結子を使うこともできます。

目次にもどる

コメントフォーム

自分の勉強にもなりますので、コメントいただけるとうれしいです。

お名前・ニックネーム

 

タイトル

 

コメント ※HTMLタグは使えません

コメント

  • コメントはまだありません。