ITコラム

PHP 連想配列

PHP

2019.02.12

PHP【 連想配列 】キーでデータを特定

配列内の個々のデータは、通常 インデックス番号を指定して使用しますが、インデックス番号ではなく任意のキーワードでデータが特定できるものを連想配列といいます。
今回は PHP の連想配列の使用方法を紹介します。

配列についてはこちらの記事もご参照下さい。

PHP【 配列 】複数の値を保持するデータ構造
PHP【 配列 】配列にデータを追加
PHP【 配列 】配列からデータを削除
PHP【 配列 】count で要素数を取得
PHP【 配列 】配列のソート
PHP【 連想配列 】キーでデータを特定(本ページ)
PHP【 多次元配列 】配列の中に配列
PHP【 配列 】配列内のデータ検索
PHP【 配列 】要素を比較
PHP【 配列 】配列の結合
PHP【 配列 】in_array で値の存在チェック
PHP【 配列 】array_map で一括処理
PHP【 配列 】キーを取得
PHP【 配列 】array_filter でフィルター
PHP【 配列 】array_column で同一キーの値を取得
PHP【 配列 】foreach でループ処理
PHP【 配列 】array_unique で重複した値を削除
PHP【 配列 】便利な関数

 
尚、本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方

最終更新日:2019年2月12日

目次

1.連想配列とは
2.連想配列の追加
3.連想配列の削除
4.連想配列のサンプル
 

1.連想配列とは

 
通常の配列は インデックス番号と個々のデータとが紐付いていますが、連想配列は 任意のキーワードと個々のデータとを紐付けて使用します。

このキーワードのことをキーといい、なるべくデータに合うように工夫して任意に設定します。

通常の配列は、次のように記述して作成しますが、

// 配列作成
$zip_shibuya = array("150-0012", "150-0013", "150-0046");

// 150-0013 を出力
echo $zip_shibuya[1];

連想配列は、次のように記述して作成します。

// 連想配列作成
$zip_shibuya = array("hiroo"=>"150-0012", "ebisu"=>"150-0013", "shoto"=>"150-0046");

// 300 を出力
echo $zip_shibuya["ebisu"];

配列変数 $zip_shibuya の要素として、「 “ebisu”=>”150-0013” 」で キー「 ebisu 」とデータ「 150-0013 」が紐付き、「 $zip_shibuya[“ebisu”] 」という記述で データ「 150-0013 」を特定します。

▲目次へ戻る

 

2.連想配列の追加

 
連想配列にデータを追加する場合は、次のように幾つかの記述方法があります。

// 連想配列作成
$zip_shibuya = array("hiroo"=>"150-0012", "ebisu"=>"150-0013", "shoto"=>"150-0046");

// データ追加方法1
$zip_shibuya["yoyogi"] = "150-0053";


// データ追加方法2
$zip_shibuya += array("yoyogi"=>"150-0053");


// データ追加方法3
$zip_shibuya = array_merge($zip_shibuya, array("yoyogi"=>"150-0053"));

「 $zip_shibuya += array(“yoyogi”=>”150-0053”); 」は「 $zip_shibuya = $zip_shibuya + array(“yoyogi”=>”150-0053”); 」と同じです。

追加するデータ数等、状況に応じて使い分けるのが良いと思います。

また、既存のキーと新しいデータを紐付けると、新しいデータに更新されます。

▲目次へ戻る

 

3.連想配列の削除

 
連想配列からデータを削除する場合は、unset 関数を使用して次のように記述します。

// 連想配列作成
$zip_shibuya = array("hiroo"=>"150-0012", "ebisu"=>"150-0013", "shoto"=>"150-0046");

// データ削除
unset($zip_shibuya["ebisu"]);

unset 関数は、データ削除後にインデックス番号が更新されない(欠番のままになる)ため 通常の配列の場合は敬遠されがちですが、連想配列ではインデックス番号の整合性を考慮する必要がないため、unset 関数を使用してデータ削除を行います。

▲目次へ戻る

 

4.連想配列のサンプル

 
連想配列を作成して データの追加と削除を行ってみます。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<pre>
<?php

  $zip_shibuya = array("hiroo"=>"150-0012", "ebisu"=>"150-0013", "shoto"=>"150-0046");
  
  print_r($zip_shibuya);

  echo "
"; $zip_shibuya += array("yoyogi"=>"150-0053", "hatagaya"=>"150-0072"); print_r($zip_shibuya); echo "
"; unset($zip_shibuya["ebisu"]); print_r($zip_shibuya); ?> </pre>

データを 1 つ追加する場合は「 $zip_shibuya[“yoyogi”] = “150-0053”; 」の方が簡便ですが、複数のデータを追加したので加算演算子( + )を使用する方法で記述しています。

print_r 関数や <pre> ~ </pre> についてはprint_r で出力をご参照下さい。

▲目次へ戻る

SHARE

最新記事

DSC_0657

卒業生インタビュー

2019.07.11

【卒業生の声:ヒロタさん】事務職からプログラマーに転身!仕事と夜間スクールを両立し、WEB系自社開発会社へ内定。

受講スクール 夜間プログラマカレッジ 受講期間 3ヶ月間 料金 無料 就職先 EMTG株式会社 夜間プログラマカレッジ卒業生のヒロタさんにお話しをお伺いしました! 目次 新卒で入社した会社で事務を7年 専門性があって、も […]

続きを見る

img_top_001

卒業生インタビュー

2019.07.02

【卒業生の声:直江さん】1年間のプログラミング独学後、沖縄から上京し、更にプログラマカレッジで学習。希望していた会社に内定。

受講スクール プログラマカレッジ 受講期間 3ヶ月間 料金 無料 就職先 株式会社アイティートゥモロー プログラマカレッジ卒業生の直江さんにお話しをお伺いしました! 目次 手を動かす仕事に就くという強い決意を持ち、会社を […]

続きを見る

無料相談する

INTERNOUS,inc. All rights reserved.