ホームページ  >  記事  >  バックエンド開発  >  PHPクエリ配列要素の添字

PHPクエリ配列要素の添字

王林
王林オリジナル
2023-05-05 21:05:101388ブラウズ

PHP では、配列内の要素の添字の位置をクエリする必要がある場合がありますが、この状況はプログラミングでは非常に一般的です。この記事では、配列内の要素の添え字の位置をクエリするいくつかの方法を紹介します。

1. array_search 関数を使用する

PHP には、配列内の指定された値を検索し、その値に対応するキー名を返すことができる組み込み関数 array_search が用意されています (つまり、以下のマーク)。 array_search 関数は in_array と似ていますが、true/false の代わりに要素インデックスを返す点が異なります。

以下は簡単な例です:

$fruits = ['apple', 'banana', 'orange'];

$key = array_search('banana', $fruits); // 返回 1

echo $key;

上の例では、array_search 関数を使用して、配列 $fruits 内の値 'banana' を持つ要素の添字位置を検索します。配列内の「バナナ」のインデックスは 1 であるため、関数は値 1 を返します。

要素が配列内に存在しない場合、array_search 関数は false を返すことに注意してください。したがって、この機能を使用する場合は判断が必要です。

2. array_keys 関数の使用

array_search 関数の使用に加えて、array_keys 関数を使用して配列内の要素の添字位置をクエリすることもできます。この関数は、指定された要素のインデックスを含む配列を返します。

以下は例です:

$fruits = ['apple', 'banana', 'orange'];

$keys = array_keys($fruits, 'banana');

print_r($keys); // 输出 [1]

上の例では、array_keys 関数を使用して、配列 $fruits 内の値 'banana' を持つ要素の添字位置をクエリします。配列内のこの要素のインデックスは 1 であるため、この関数によって返される値は、値 1 の要素を含む配列になります。

要素が配列内に存在しない場合、array_keys 関数は空の配列を返すことに注意してください。したがって、この機能を使用する場合は判断が必要です。

3. foreach ループを使用する

組み込み関数の使用に加えて、foreach ループを使用して配列を走査し、配列内の要素の添え字の位置をクエリすることもできます。 。以下に例を示します。

$fruits = ['apple', 'banana', 'orange'];

foreach ($fruits as $key => $value) {
    if ($value === 'banana') {
        echo $key; // 输出 1
        break;
    }
}

上の例では、foreach ループを使用して $fruits 配列を反復処理し、条件ステートメントを使用して値 'banana' を持つ要素が見つかるかどうかを判断します。見つかった場合は、対応するインデックス位置を出力し、break ステートメントを使用してループを終了します。

foreach ループを使用して配列を走査する場合、指定された要素が見つかったら、break ステートメントを使用してループから抜け出す必要があることに注意してください。そうしないと、配列全体が引き続き使用されます。横断しました。

4. array_flip 関数を使用する

配列内の要素の添字の位置を頻繁にクエリする必要がある場合は、array_flip 関数を使用して配列の添字と値を交換できます。要素の値をクエリすることで、要素の添え字の位置を対応する添え字に変えることができます。例は次のとおりです。

$fruits = ['apple', 'banana', 'orange'];
$fruits = array_flip($fruits);

$key = $fruits['banana']; // 返回 1

echo $key;

上の例では、array_flip 関数を使用して $fruits 配列の添字と値を交換し、配列の添字を使用して配列の位置をクエリします。配列内の値「バナナ」を持つ要素。位置をマークします。元の配列の「バナナ」のインデックスは 1 であるため、この関数によって返される値も 1 になります。

array_flip 関数は同じ値を持つ 1 つの要素を保持するため、元の配列に同一の要素が複数ある場合、これらの要素は反転された配列に 1 回だけ現れることに注意してください。

概要:

PHP では、配列内の要素の添字位置をクエリすることが非常に一般的です。一般的に使用されるメソッドには、array_search、array_keys、foreach ループ、array_flip 関数などが含まれます。実情に応じて最適な方法を選択する必要があります。

以上がPHPクエリ配列要素の添字の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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