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

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

PHPz
PHPzオリジナル
2023-04-20 13:50:03575ブラウズ

PHP 言語は、Web 開発で広く使用されているスクリプト言語です。 PHP開発において、配列の添字の下に値があるかどうかを判断するのは基本的な操作です。この記事では、理論と実践の両方の観点からこの問題を紹介します。

1. 理論的根拠

PHP では、配列は複数の値を格納できる複合データ型です。配列内の各要素には添字があり、数値、文字列、またはその他の型を指定できます。インデックスに対応する要素に値が割り当てられていない場合、その要素は null とみなされます。 PHP には、配列添字が存在し、値があるかどうかを検出するための関数がいくつか提供されています。使用方法は次のとおりです。

  1. isset() 関数

isset() 関数は、変数に値が割り当てられているか、null でないかどうかを確認するために使用されます。配列要素の添字が存在するかどうかを検出するために使用できます。配列要素の添字が存在し、値が割り当てられている場合、isset() 関数は true を返します。配列要素の添字が存在しないか、null 値が割り当てられている場合、isset() 関数は false を返します。

以下は、isset() 関数を使用して配列添字の下に値があるかどうかを判断するサンプル コードです:

<?php
$arr = array("apple"=>"red", "banana"=>"yellow");
if(isset($arr["apple"])){
    echo "apple is red";
}
if(isset($arr["orange"])){
    echo "orange is not in the array"; // 不会执行,因为 orange 在数组中不存在
}
?>

この例では、連想配列 $arr を定義します。 、リンゴとバナナの 2 つの要素が含まれています。 isset() 関数を使用して、apple と orange の 2 つの要素が存在するかどうかを確認します。配列内に「apple」が存在するため、コード内の最初の if ステートメントが実行され、「apple is red」が出力されます。 「orange」は配列内に存在しないため、この添え字は null として扱われ、出力操作は実行されません。

  1. array_key_exists() 関数

array_key_exists() 関数は、指定された添字が配列内に存在するかどうか、および対応する値が null でないかどうかを確認できます。 isset() 関数とは異なり、この関数はパラメータを 1 つだけ受け入れます: チェックする添え字名です。配列要素の添字が存在し、null でない場合、関数は true を返し、それ以外の場合は false を返します。

次は、array_key_exists() 関数を使用したサンプル コードです。

<?php
$arr = array("apple"=>"red", "banana"=>"yellow");
if(array_key_exists("apple", $arr)){
    echo "apple is red";
}
if(array_key_exists("orange", $arr)){
    echo "orange is not in the array"; // 不会执行,因为 orange 在数组中不存在
}
?>

このコードは前のコードと似ていますが、引き続き 2 つの要素「apple」と「orange」が存在するかどうかを確認します。配列の真ん中。 isset() と同じ結果は、array_key_exists() 関数を通じて取得できます。

2. 実践的な操作

理論に加えて、実際のコードを通して配列の添字の下に値があるかどうかを判断する方法を学ぶことができます。

以下は、配列と添え字名をパラメータとして受け取り、添え字の下の要素が存在するかどうかを判断し、その値を返す関数の例です。

function getValueByIndex($arr, $index){
    if(array_key_exists($index, $arr)){
        return $arr[$index];
    }
    else{
        return "undefined";
    }
}

$arr = array("apple"=>"red", "banana"=>"yellow");
echo "The color of the apple is ".getValueByIndex($arr, "apple")."\n"; // 输出:The color of the apple is red
echo "The color of the orange is ".getValueByIndex($arr, "orange")."\n"; // 输出:The color of the orange is undefined

この関数は最初に呼び出されます。 array_key_exists () 関数は、指定された添字が配列内に存在するかどうかを確認するために使用されます。存在する場合、関数は添え字に対応する値を返し、存在しない場合は文字列「unknown」を返します。この例の結果では、添字「apple」が配列内に存在するので、最初のecho文で「リンゴの色は赤です」と出力します。対照的に、2 番目の echo ステートメントでは、配列に存在しない添字「orange」の値を取得しようとしているため、関数は「unknown」を返します。

概要

PHP では、配列の添え字の下に値があるかどうかを判断するのが基本的な操作です。 isset() と array_key_exists() の 2 つの関数を使用できます。前者は主に変数/配列要素に値が割り当てられているかどうかを確認するために使用され、後者は主に配列の添字が存在し、対応する値が存在するかどうかを確認するために使用されます。 nullではありません。同時に、この操作を手書き関数で実装することもできます。この操作をマスターすると、PHP 言語のいくつかの基本機能をより深く理解し、その後の開発作業のための強固な基盤を築くことができます。

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

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