[PHP]連想配列にキー(key)が存在するかどうかチェックするには?

PHP

どうも、ちょげ(@chogetarou)です。

連想配列(associative array)にキー(key)が存在するかどうか確認する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

連想配列(associative array)にキー(key)が存在するかどうかチェックする方法は、2つあります。

array_key_exists()

ひとつは、array_key_exists()を使う方法です。

まず、array_key_exists()を呼び出します。

そして、array_key_exists()の第1引数にキー、第2引数に対象の連想配列を指定します。

//arr=対象の連想配列, key=キー
array_key_exists(key, $arr)

上記のarray_key_exists()は、連想配列にキー(key)が存在すれば「true」、存在しなければ「false」を返します。

使用例1

<?php
$numbers = [
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "four" => 4,
    "five" => 5,
];

if (array_key_exists("one", $numbers)) {
    echo "キーは存在します。";
} else {
    echo "キーは存在しません。";
}

?>
出力:
キーは存在します。

使用例2

<?php
$numbers = [
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "four" => 4,
    "five" => 5,
];

if (array_key_exists("ten", $numbers)) {
    echo "キーは存在します。";
} else {
    echo "キーは存在しません。";
}

?>
出力:
キーは存在しません。

isset()

もうひとつは、isset()を使う方法です。

まず、isset()を呼び出します。

そして、isset()の引数で、連想配列のキーに[]でアクセスします。

//arr=対象の連想配列, key=キー
isset($arr[key])

上記のisset()は、連想配列のキー(key)が存在すれば「true」、存在しなければ「false」を返します。

使用例1

<?php
$numbers = [
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "four" => 4,
    "five" => 5,
];

if (isset($numbers["one"])) {
    echo "キーは存在します。";
} else {
    echo "キーは存在しません。";
}

?>
出力:
キーは存在します。

使用例2

<?php
$numbers = [
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "four" => 4,
    "five" => 5,
];

if (isset($numbers["ten"])) {
    echo "キーは存在します。";
} else {
    echo "キーは存在しません。";
}

?>
出力:
キーは存在しません。

まとめ

連想配列(associative array)にキー(key)が存在するかどうかチェックする方法は、次の2つです。

  • array_key_exists()を使う方法
    array_key_exists(key, $arr)
  • isset()を使う方法
    isset($arr[key])

コメント

タイトルとURLをコピーしました