0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

二次元配列から該当する要素が存在するかどうかを確認する方法

Posted at

二次元配列から該当する要素が存在するかどうかを確認する処理をどのように実装したかを簡単に忘備録としてまとめました。

PHPではin_arrayメソッドを使います。
実務ではよく出てくるメソッドなので、覚えておいて損はないでしょう。

サンプルとして以下のコードを用意しました。

<?php

// 二次元配列の定義
$data = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Charlie'],
];

// 調べたい値
$searchName = 'Bob';

$found = false;

// 二次元配列をループして in_array() で検索
foreach ($data as $row) {
    if (in_array($searchName, $row)) {
        $found = true;
        break;
    }
}

if ($found) {
    echo "{$searchName} は見つかりました。\n";
} else {
    echo "{$searchName} は見つかりませんでした。\n";
}

特定のカラムを検索する方法は以下の通りです。

<?php

// 二次元配列
$data = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Charlie'],
];

// 検索したい名前
$searchName = 'Bob';

// 特定のカラム(name)のみを抜き出す
$names = array_column($data, 'name');

// in_array で検索
if (in_array($searchName, $names)) {
    echo "{$searchName} は見つかりました。\n";
} else {
    echo "{$searchName} は見つかりませんでした。\n";
}

in_arrayメソッドはよく使うメソッドなので、忘備録としてまとめました。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?