ホームページ >バックエンド開発 >PHPの問題 >php 配列の添字は存在しますか?

php 配列の添字は存在しますか?

WBOY
WBOYオリジナル
2023-05-19 10:26:37770ブラウズ

PHP は、配列などの一般的に使用されるデータ構造を多数提供する強力なプログラミング言語です。配列は、インデックスまたはキー値に基づいてアクセスできる要素のコレクションです。 PHP では、配列を使用してデータを保存および管理できます。 PHP 配列を使用するとき、特定の添え字が存在するかどうかを判断する必要がある場合があります。この記事では、PHP で配列添字が存在するかどうかを確認する方法を紹介します。

PHP で配列添字が存在するかどうかを確認する方法は数多くありますが、以下で個別に紹介します。

方法 1: isset() 関数を使用して判断する

PHP では、isset() 関数を使用して、変数が設定されているか、NULL でないかどうかを確認します。この関数は、通常の変数または配列添字が存在するかどうかを判断できます。配列の添字が存在する場合は true を返し、それ以外の場合は false を返します。デモンストレーションの例を次に示します。

$country = array("China" => "Beijing", "USA" => "Washington D.C.", "Japan" => "Tokyo");
if(isset($country["USA"])) {
    echo "USA's capital city is ".$country["USA"].".";
} else {
    echo "Unknown country.";
}

上の例では、isset() 関数を使用して、配列の添字として "USA" が存在するかどうかを確認しました。存在する場合は「米国の首都はワシントン D.C. です」と出力し、存在しない場合は「不明な国」と出力します。

isset() 関数を使用する場合は、「通知」警告を回避する必要があることに注意してください。配列インデックスが存在しない場合は、「通知: 未定義のインデックス」という警告が表示されます。この状況を回避するには、PHP 組み込み関数 error_reporting() を使用して警告出力をオフにするか、error_reporting(E_ALL & ~E_NOTICE) を使用して他のエラー メッセージに影響を与えずに警告出力のみをオフにすることができます。

方法 2: array_key_exists() 関数を使用して判断する

PHP には、配列添字が存在するかどうかを判断するための別の関数、つまり array_key_exists() 関数が用意されています。この関数は、指定されたキーが配列内に存在するかどうかを確認します。存在する場合は true を返し、存在しない場合は false を返します。以下はデモンストレーションの例です:

$fruit = array("apple", "banana", "orange");
if(array_key_exists(1, $fruit)) {
    echo "The second fruit in the array is ".$fruit[1].".";
} else {
    echo "Unknown fruit.";
}

上の例では、array_key_exists() 関数を使用して、配列添字 1 が存在するかどうかを判断します。存在する場合は「配列の 2 番目の果物はバナナです。」を出力し、存在しない場合は「不明な果物です。」を出力します。

array_key_exists() 関数の最初のパラメータはキー名で、2 番目のパラメータは配列であることに注意してください。この関数は、特定のキー名が存在するかどうかを確認する必要がある場合にのみ使用してください。キー値が存在するかどうかだけを知りたい場合は、 isset() 関数を使用するのが最適です。

方法 3: in_array() 関数を使用して判断する

isset() 関数と array_key_exists() 関数に加えて、PHP には、配列添字が存在するかどうかを判断する別の関数、つまり in_array も提供されています。 ( )関数。この関数は、配列内で指定された値を検索し、ブール値を返します。指定された値が配列内で見つかった場合は true を返し、それ以外の場合は false を返します。以下はデモンストレーションの例です:

$color = array("red", "green", "blue");
if(in_array("green", $color)) {
    echo "Green is in the array.";
} else {
    echo "Not found.";
}

上の例では、in_array() 関数を使用して、「green」要素が配列内に存在するかどうかを判断します。存在する場合は「Green is in the array.」、存在しない場合は「Not found.」と出力されます。

in_array() 関数の最初のパラメータは検索する値であり、2 番目のパラメータは配列であることに注意してください。この関数は配列内の値のみを検索でき、キーは検索できません。

方法 4: キー名を使用して配列を走査する

foreach を使用して配列を走査する場合、キー名を使用して配列の添え字が存在するかどうかを判断できます。デモンストレーションの例を次に示します。

$animal = array("dog" => "golden retriever", "cat" => "persian", "fish" => "goldfish");
foreach($animal as $key => $value) {
    if($key == "cat") {
        echo "The breed of cat is ".$value.".";
    }
}

上の例では、foreach を使用して $animal 配列を走査しました。キー名が「cat」の場合は、キー名に対応するキー値が出力されます。 「$key」は現在の配列要素のキー名を表し、「$value」は現在の配列要素のキー値を表します。キー名が存在しない場合、対応する出力ステートメントは実行されません。

foreach を使用して配列を走査すると、キー名が存在するかどうかを判断できるだけであり、キー名が存在するかどうかを繰り返し確認することはできないことに注意してください。

結論

PHP では、さまざまな方法を使用して配列添字が存在するかどうかを判断できます。各方法には長所と短所があり、実際の状況に基づいて選択する必要があります。これらの方法を使用する場合は、「通知」警告を回避し、コードの適切なテストを実施してコードの正確さと安定性を確認することにも注意する必要があります。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。