ホームページ > バックエンド開発 > PHPの問題 > PHPで配列に値があるかどうかを確認する方法

PHPで配列に値があるかどうかを確認する方法

PHPz
リリース: 2023-04-25 10:08:21
オリジナル
1018 人が閲覧しました

PHP では、配列に値があるかどうかを判断するには、array_key_exists() 関数と isset() 関数を使用できます。これら 2 つの関数の使用法について詳しく見てみましょう。

1. array_key_exists()

array_key_exists() 関数は、指定されたキー名が配列内に存在するかどうかを判断するために使用され、存在する場合は true を返し、存在しない場合は false を返します。この関数の構文は以下のとおりです。

bool array_key_exists ( mixed $key , array $array )
ログイン後にコピー

このうち、$key は判定対象のキー名、$array は判定対象の配列を表します。

次は例です:

$arr = array('a' => 1, 'b' => 2, 'c' => 3);
if (array_key_exists('a', $arr)) {
    echo '存在';
} else {
    echo '不存在';
}
ログイン後にコピー

出力結果は次のとおりです: 存在

2. isset()

isset() 関数を使用して決定します。変数が宣言され、値が割り当てられているかどうか、宣言されている場合は true を返し、それ以外の場合は false を返します。配列を判定する際、指定された要素の値がnullの場合、isset()関数はfalseを返します。この関数の構文は次のとおりです。

bool isset ( mixed $var [, mixed $... ] )
ログイン後にコピー

配列の要素を判定する場合、次の 2 つの方法が使用できます。

  1. isset() 関数を使用して、要素が要素であるかどうかを直接判定します。以下に示すように、存在します。 :
$arr = array('a' => 1, 'b' => null, 'c' => 3);
if (isset($arr['a'])) {
    echo '存在';
} else {
    echo '不存在';
}
ログイン後にコピー

出力結果は次のとおりです。exists

if (isset($arr['b'])) {
    echo '存在';
} else {
    echo '不存在';
}
ログイン後にコピー

出力結果は次のとおりです。存在しません

  1. 最初に array_key_exists を使用します。 () 関数を使用して要素が存在するかどうかを確認し、次に isset() 関数を使用して要素の値が null かどうかを確認します。次に示すように:
$arr = array('a' => 1, 'b' => null, 'c' => 3);
if (array_key_exists('a', $arr) && isset($arr['a'])) {
    echo '存在';
} else {
    echo '不存在';
}
ログイン後にコピー

出力結果は次のとおりです。 ##

if (array_key_exists('b', $arr) && isset($arr['b'])) {
    echo '存在';
} else {
    echo '不存在';
}
ログイン後にコピー
出力結果は次のとおりです: 存在しません

概要

上記は、PHP が配列に値があるかどうかを判断する方法です。必要に応じて選択できます。実際の開発では、配列要素が存在するかどうかを判断するために isset() 関数を使用することをお勧めします。この関数は高速であり、未定義のインデックス エラーを防ぐことができます。もちろん、キーが存在するかどうかを判断するときは、array_key_exists() 関数を使用できます。

以上がPHPで配列に値があるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート