9cubed
ブログ | Tailwind | Vite | Python | Node.js | Linux | PowerShell | その他 | 将棋ウォーズ | 歌の練習
< 前の記事

PHP - foreach

次の記事 >

PHP - 関数(function)

PHP

PHP - 連想配列

公開日:2020-12-22
更新日:2020-12-22

1. 概要

配列は [ ] の中にインデックスを指定して要素を特定しましたが、
連想配列では、インデックスの代わりに任意の文字列(キー)を使います。

ちなみに、Java では Map、C# では Dictionary と呼ばれています。

2. 基本

[ ] または array() で連想配列を生成する時は、「キー => 値」で要素を指定します。
あとは、要素の指定がインデックス(数値)からキー(文字列)に変わるだけで、配列と同様に扱うことができます。

//連想配列の生成
$map = [
  'id'    => 123,
  'name'  => 'taro',
  'addr1' => 'tokyo'
];
//追加 または 上書き
$map['addr2'] = 'chiyoda';

//取得
var_dump($map['name']);

var_dump($map);
実行結果
string(4) "taro"
array(4) {
  ["id"]=>
  int(123)
  ["name"]=>
  string(4) "taro"
  ["addr1"]=>
  string(5) "tokyo"
  ["addr2"]=>
  string(7) "chiyoda"
}

要素を削除する場合は、unset() を使います。
$map = [
    'id'    => 123,
    'name'  => 'taro',
    'addr1' => 'tokyo'
];

unset($map['name']);
var_dump($map);
実行結果
array(2) {
  ["id"]=>
  int(123)
  ["addr1"]=>
  string(5) "tokyo"
}

3. ループして各要素を取得

要素を1つずつ取得するには、foreach を使います。
$map = [
    'id'    => 123,
    'name'  => 'taro',
    'addr1' => 'tokyo'
];

foreach ($map as $value) {
    print($value . "\n");
}
実行結果
123
taro
tokyo

値と一緒にキーを取得したい場合は、as と => を使います。
$map = [
    'id'    => 123,
    'name'  => 'taro',
    'addr1' => 'tokyo'
];

foreach ($map as $key => $value) {
    print("['" . $key . "'] = " . $map[$key] . "\n");
}
実行結果
['id'] = 123
['name'] = taro
['addr1'] = tokyo

4. キー一覧の取得

$map = [
    'id'    => 123,
    'name'  => 'taro',
    'addr1' => 'tokyo'
];

$keys = array_keys($map);

foreach ($keys as $key) {
    print($map[$key] . "\n");
}
実行結果
123
taro
tokyo

5. 連想配列の配列

連想配列をさらに配列することもできます。
また、array_column() を使うと、指定した項目だけ取得することができます。
$members = [
  [ 'id' => 1, 'name' => 'taro' ],
  [ 'id' => 2, 'name' => 'hanako' ],
  [ 'id' => 3, 'name' => 'ichiro' ]
];

$names = array_column($members, 'name');

var_dump($names);
実行結果
array(3) {
  [0]=>
  string(4) "taro"
  [1]=>
  string(6) "hanako"
  [2]=>
  string(6) "ichiro"
}

連想配列の配列は、次のようにしても同じように生成できます。
$members = [];
$members[] = ['id' => 1, 'name' => 'taro' ];
$members[] = ['id' => 2, 'name' => 'hanako'];
$members[] = ['id' => 3, 'name' => 'ichiro'];
プログラム作成時に値が決まっていることは稀なので、
連想配列を1件ずつ追加することの方が多いです。

< 前の記事

PHP - foreach

次の記事 >

PHP - 関数(function)

YouTube X

新着一覧

  • SCSS のインストールVite
  • Tailwind CSS のプロジェクトの作成Tailwind
  • TypeScriptのプロジェクトの作成Vite
  • Flask のインストールと動作確認Python
  • 簡易Webサーバーの作成Python
  • pipeline で文章の生成Python
  • pipeline で文章の要約Python
  • 音声から文字起こしPython
  • Node.js のインストールNode.js
  • .ps1(PowerShellスクリプト)を実行可能にするPowerShell

アーカイブ

  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲