ホームページ > バックエンド開発 > PHPの問題 > PHP配列は添字があるかどうかを判断します

PHP配列は添字があるかどうかを判断します

WBOY
リリース: 2023-05-11 11:39:36
オリジナル
677 人が閲覧しました

PHP は、Web 開発によく使用される人気のあるサーバー側プログラミング言語です。オブジェクト指向言語として、PHP は多くの組み込み関数とデータ構造を提供します。その中で、配列は最も一般的に使用されるデータ構造の 1 つです。 PHP 配列を使用する場合、配列に特定の添え字が含まれているかどうかを判断する必要があることがよくありますが、この記事ではこの関数の実装方法について説明します。

配列の概要

PHP では、配列は複数の値を格納するために使用されるデータ構造です。数値インデックスまたは文字列インデックスを使用してアクセスできます。 PHP では、配列は array() 関数を使用して作成され、整数、文字列、さらにはその他の配列を含むあらゆるタイプの値を含めることができます。

PHP 配列には次の特徴があります:

  • 配列要素にはインデックス値またはキー名を使用してアクセスできます。
  • 配列要素には、他の配列も含め、任意のタイプの値を指定できます。
  • PHP 配列は、要素を柔軟に追加、削除、変更できる動的データ構造です。

PHP 配列の基本的な例は次のとおりです:

$fruits = array("Apple", "Banana", "Orange");
ログイン後にコピー

この方法で作成された配列には 3 つの要素が含まれており、インデックス (0、1、2) またはキーによってアクセスできます。名前 ('0' 、 '1'、'2') アクセス。

配列に特定の添え字が含まれているかどうかを判断する

PHP では、配列に特定の添え字が含まれているかどうかを判断することが重要な操作です。最も一般的な方法は、isset() 関数を使用することです。 isset() 関数は、変数が定義されており、null でないかどうかを判断するために使用されます。配列では、isset() 関数を使用して、指定された添字が存在するかどうかを判断します。

たとえば、次のコードを使用して、配列 $fruits に添字 2 が含まれているかどうかを判断できます。

$fruits = array("Apple", "Banana", "Orange");
if(isset($fruits[2])){
    echo "存在下标2";
} else {
    echo "不存在下标2";
}
ログイン後にコピー

出力結果は次のようになります。「添字 2 が存在します」。

上記の例では、 isset() 関数を使用して、$fruits 配列に添字 2 が含まれているかどうかを判断します。 $fruits[2] が存在するため (値は「Orange」)、isset() 関数は true を返します。

同様に、次のコードを使用して、$fruits 配列に添字 4 が含まれているかどうかを確認できます。

$fruits = array("Apple", "Banana", "Orange");
if(isset($fruits[4])){
    echo "存在下标4";
} else {
    echo "不存在下标4";
}
ログイン後にコピー

出力結果は、「添字 4 は存在しません」となります。

上記の例では、添え字 4 が $fruits 配列に存在しないため、isset() 関数は false を返します。

isset() 関数は添え字が存在するかどうかを判断するためにのみ使用でき、それに対応する値が null かどうかを判断することはできないことに注意してください。添え字が存在するかどうかと、その値が null であるかどうかを同時に判断する必要がある場合は、array_key_exists() 関数を使用できます。

array_key_exists() 関数

array_key_exists() 関数は、配列内にキー名が存在するかどうかを判断するために使用される PHP の関数です。その使用法は次のとおりです:

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

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

たとえば、次のコードを使用して、$fruits 配列にキー名 2 が含まれているかどうかを確認できます:

$fruits = array("Apple", "Banana", "Orange");
if(array_key_exists(2, $fruits)){
    echo "存在键名2";
} else {
    echo "不存在键名2";
}
ログイン後にコピー

出力結果は次のようになります:「キー名 2 は存在しません」。

上記の例では、array_key_exists() 関数を使用して、$fruits 配列にキー 2 が含まれているかどうかを判断します。 $fruits 配列は数値インデックスを使用するため、array_key_exists() 関数はキー名ではなく添え字を検索します。添字 2 は存在しないため、array_key_exists() 関数は false を返します。

同様に、次のコードを使用して、$fruits 配列にキー名 'Apple' が含まれているかどうかを確認できます:

$fruits = array("Apple", "Banana", "Orange");
if(array_key_exists('Apple', $fruits)){
    echo "存在键名'Apple'";
} else {
    echo "不存在键名'Apple'";
}
ログイン後にコピー

出力結果は次のようになります:「キー名 'Apple' は存在します」 。

上記の例では、array_key_exists() 関数を使用して、$fruits 配列にキー名「Apple」が含まれているかどうかを判断します。 $fruits 配列は文字列インデックスを使用するため、array_key_exists() 関数はキー名を検索します。キー名「Apple」が存在するため、array_key_exists() 関数は true を返します。

array_key_exists() 関数は isset() 関数より強力ですが、パフォーマンスが若干劣ることに注意してください。したがって、要件を満たせる場合には isset() 関数を使用して判定することを推奨します。

概要

PHP では、配列に特定の添え字が含まれているかどうかを判断するのが一般的なタスクです。この機能を実現するには、 isset() 関数または array_key_exists() 関数を使用できます。使用する場合は、次の点に注意する必要があります。

  • isset() 関数は、特定の添え字が存在するかどうかを判断するために使用され、対応する値が null であるかどうかを判断することはできません。
  • array_key_exists() 関数は、キー名が存在するかどうかを判断するために使用され、数値インデックスと文字列インデックスを持つ配列に使用できます。
  • パフォーマンスの点では、isset() 関数は array_key_exists() 関数よりも優れています。
  • 実際の開発では、状況に応じて適切な方法を選択して判断する必要があります。

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

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