---
title: 標準関数 array_column の魅力と活用法
tags: 
author: [_ma_me_](https://convert.docswell.com/user/1313108)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/DEYZYR3Q7M.jpg?width=480
description: 標準関数 array_column の魅力と活用法 by _ma_me_
published: January 11, 26
canonical: https://convert.docswell.com/s/1313108/5REV3R-2026-01-11-140833
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/DEYZYR3Q7M.jpg)

標準関数 array_column の
魅力と活用法
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/VJN3PDV2J8.jpg)

今日のテーマ
PHPの関数の中で一番好きな関数 array_column の紹介
array_column
とは
PHP5.5から使える関数で、入力配列から単一のカラムの値を返す １つの
関数でいろんな配列のパターンに対応しているのが好きなポイント
LaravelのCollectionメソッドでよく使う操作を
この関数でも出来るので、とても便利
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/YE993G6DE3.jpg)

自己紹介
発表者
ma@me
所属
不具合分析
最近の業務
不具合対応
品質改善業務をメインに色々
やってます
登壇予定
PHPerKaigi 2026
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/GE89MVZ57D.jpg)

目次
1. 今日のテーマ
2. 1. Key名を指定して抽出する
3. 2. 抽出した値を特定のKeyで保持する
4. 3. 配列全体を特定のKeyで保持する
5. 4. 指定したKeyが存在しない場合
6. 5. オブジェクトの配列からプロパティを抽出する
7. array_columnのまとめ
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/LELW35D3JR.jpg)

1. Key
名を指定して抽出する
$records = [
[&#039;id&#039; =&gt; 2135,&#039;first_name&#039; =&gt; &#039;John&#039;,&#039;last_name&#039; =&gt; &#039;Doe&#039;],
[&#039;id&#039; =&gt; 3245,&#039;first_name&#039; =&gt; &#039;Sally&#039;,&#039;last_name&#039; =&gt; &#039;Smith&#039;],
[&#039;id&#039; =&gt; 5342,&#039;first_name&#039; =&gt; &#039;Jane&#039;,&#039;last_name&#039; =&gt; &#039;Jones&#039;],
];
array_column($records, &#039;id&#039;);
結果
[2135, 3245, 5342]
公式ドキュメントで動作を見る
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/4JM9D3PMEW.jpg)

1. Key
名を指定して抽出する
Laravel Collection
PHP
メソッドとの比較
array_column($records, &#039;id&#039;);
Laravel Collection
$names = $records-&gt;
pluck (&#039;id&#039;);
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PJRG4Q1LE9.jpg)

抽出した値を特定のKeyで保持する
2.
$records = [
[&#039;id&#039; =&gt; 2135,&#039;first_name&#039; =&gt; &#039;John&#039;,&#039;last_name&#039; =&gt; &#039;Doe&#039;],
[&#039;id&#039; =&gt; 3245,&#039;first_name&#039; =&gt; &#039;Sally&#039;,&#039;last_name&#039; =&gt; &#039;Smith&#039;],
[&#039;id&#039; =&gt; 5342,&#039;first_name&#039; =&gt; &#039;Jane&#039;,&#039;last_name&#039; =&gt; &#039;Jones&#039;],
];
array_column($records, &#039;last_name&#039;, &#039;id&#039;);
結果
[
2135 =&gt; &#039;Doe&#039;,
3245 =&gt; &#039;Smith&#039;,
5342 =&gt; &#039;Jones&#039;,
]
公式ドキュメントで動作を見る
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/PEXX25G6EX.jpg)

2.
抽出した値を特定のKeyで保持する
Laravel Collection
PHP
メソッドとの比較
array_column($records, &#039;last_name&#039;, &#039;id&#039;);
Laravel Collection
$names = $records-&gt;
pluck(&#039;last_name&#039;, &#039;id&#039;);
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/3EKWM64GED.jpg)

配列全体を特定のKeyで保持する
3.
$records = [
[&#039;id&#039; =&gt; 2135,&#039;first_name&#039; =&gt; &#039;John&#039;,&#039;last_name&#039; =&gt; &#039;Doe&#039;],
[&#039;id&#039; =&gt; 3245,&#039;first_name&#039; =&gt; &#039;Sally&#039;,&#039;last_name&#039; =&gt; &#039;Smith&#039;],
[&#039;id&#039; =&gt; 5342,&#039;first_name&#039; =&gt; &#039;Jane&#039;,&#039;last_name&#039; =&gt; &#039;Jones&#039;],
];
array_column($records, null, &#039;id&#039;);
結果
[
2135 =&gt; [&#039;id&#039; =&gt; 2135, &#039;first_name&#039; =&gt; &#039;John&#039;, &#039;last_name&#039; =&gt; &#039;
3245 =&gt; [&#039;id&#039; =&gt; 3245, &#039;first_name&#039; =&gt; &#039;Sally&#039;, &#039;last_name&#039; =&gt;
5342 =&gt; [&#039;id&#039; =&gt; 5342, &#039;first_name&#039; =&gt; &#039;Jane&#039;, &#039;last_name&#039; =&gt; &#039;
]
公式ドキュメントで動作を見る
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/L731Y6L5J5.jpg)

3.
配列全体を特定のKeyで保持する
Laravel Collection
PHP
メソッドとの比較
array_column($records, null, &#039;id&#039;);
Laravel Collection
$names = $records-&gt;
keyBy(&#039;id&#039;);
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/87DX5VNYEG.jpg)

指定したKeyが存在しない場合
4.
配列の中に指定したキーが存在しない要素がある場合、その要素は無視
（スキップ）されます。
$records = [
[&#039;id&#039; =&gt; 2135, &#039;first_name&#039; =&gt; &#039;John&#039;],
[&#039;id&#039; =&gt; 3245], // &#039;first_name&#039; がない
[&#039;id&#039; =&gt; 5342, &#039;first_name&#039; =&gt; &#039;Jane&#039;],
];
array_column($records, &#039;first_name&#039;);
結果
[
0 =&gt; &#039;John&#039;,
1 =&gt; &#039;Jane&#039;, // インデックスが詰められて抽出される
]
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/VJPPGV52J8.jpg)

4.
指定したKeyが存在しない場合
Laravel Collection
メソッドとの比較
PHP (array_column) 存在しない要素はスキップされます。
[&#039;John&#039;, &#039;Jane&#039;]
Laravel Collection (pluck) null として保持されます。
[&#039;John&#039;,
null, &#039;Jane&#039;]
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/2EV26ZPXEQ.jpg)

オブジェクトの配列からプロパティ
を抽出する
5.
オブジェクトのpublicプロパティ配列からもを取得可能
class User {
public function __construct(public array $username) {}
}
$users = [
];
new User(&#039;user1&#039;), new User(&#039;user2&#039;), new User(&#039;user3&#039;)
print_r(array_column($users, &#039;username&#039;));
結果
[&#039;user1&#039;, &#039;user2&#039;, &#039;user3&#039;]
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/57GRN4PREL.jpg)

オブジェクトの配列からプロパティ
を抽出する
5.
Laravel Collection
メソッドとの比較
PHP パブリックプロパティや、マジックメソッド __get を実装している
オブジェクトからも抽出可能です。
array_column($users, &#039;username&#039;);
Laravel Collection 同様にオブジェクトのプロパティから抽出できま
す。
collect($users)-&gt;pluck(&#039;username&#039;);
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/4EQVQG2YJP.jpg)

array_column
のまとめ
汎用性が高い
単純な抽出、キーの振り直し、オブジェクトへの対応
軽量・高速
フレームワークに依存せず、標準環境で動作する
部分的にCollectionの代用可能
配列操作をするために、Collectionにラップして〜という手段を取らずと
も、代用できるケースは結構あります
array_column の活用を検討してみてください！
15


