ホームページ > バックエンド開発 > PHPの問題 > phpの文字列が配列に入っているのでしょうか?

phpの文字列が配列に入っているのでしょうか?

WBOY
リリース: 2023-05-19 14:56:38
オリジナル
1132 人が閲覧しました

PHP はサーバーサイド プログラミング言語であり、文字列や配列に関連する多くの関数を含む、非常に豊富な関数ライブラリと組み込み関数を備えています。 PHP では、データの保存と処理に配列を使用することは非常に一般的な操作であり、指定された文字列が配列内に存在するかどうかを確認することも一般的な要件です。

文字列が配列内に存在するかどうかを判断するには、多くの方法があります。ループを使用して配列を走査することも、PHP 組み込み関数を使用して判断することもできます。以下では、いくつかの方法を詳しく紹介します文字列が配列内にあるかどうかを判断するためのメソッドです。

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

PHP には、配列内に値が存在するかどうかを迅速に判断できる in_array() 関数が用意されています。 in_array() 関数の基本的な使用法は次のとおりです。

in_array($needle, $haystack);
ログイン後にコピー

ここで、$needle は検索する値、$haystack は検索する配列です。見つかった。この関数はブール値を返します。指定された要素が見つかった場合は true、それ以外の場合は false を返します。

例:

$names = ['Alice', 'Bob', 'Charlie'];
var_dump(in_array('Charlie', $names)); // 输出 true
var_dump(in_array('David', $names)); // 输出 false
ログイン後にコピー

上記のコードでは、配列 $names を定義し、in_array() 関数を使用して 'Charlie' を検索します。 'David' の 2 つの値の場合、結果はそれぞれ truefalse を返しました。

in_array() 関数を使用して文字列が配列内にあるかどうかを判断する場合は、次の問題に注意する必要があります。

  1. in_array() 関数は大文字と小文字を区別します。デフォルトでは敏感です、つまり判断 大文字と小文字が一致している必要があります;
  2. in_array() 関数は値が配列内に存在するかどうかのみを判断できますが、配列内の値の位置は判断できません;
  3. in_array() 関数は 1 次元配列の要素を判定することしかできませんが、多次元配列の場合は他のメソッドを使用して判定する必要があります。

方法 2: array_search() 関数を使用して決定する

配列内に表示される特定の位置を見つける必要がある場合は、array_search() 関数を使用できます。この関数は in_array() 関数と似ていますが、ブール値を返すのではなく、配列内で見つかる値のキー名を返す点が異なります。

array_search() 関数の基本的な使用法は次のとおりです。

array_search($needle, $haystack);
ログイン後にコピー

ここで、$needle は検索する値、$haystackは検索する配列です。指定された要素が見つかった場合、関数は配列内の要素のキー名 (つまり、要素に対応する配列の添字) を返します。それ以外の場合は、false を返します。

例:

$names = ['Alice', 'Bob', 'Charlie'];
echo array_search('Charlie', $names); // 输出 2
echo array_search('David', $names); // 输出 ''
ログイン後にコピー

上記のコードでは、配列 $names を定義し、array_search() 関数を使用して 'Charlie' を検索します。 ## 2 つの値 # と 'David' があり、結果はそれぞれ 2'' になります。 'David' を検索すると、false ではなく空の文字列が返されることに注意してください。

in_array() 関数と同様に、array_search() 関数を使用して文字列が配列内にあるかどうかを判断するときは、大文字と小文字の問題にも注意する必要があります。

方法 3: array_key_exists() 関数を使用して確認する

指定したキー名が配列内に存在するかどうかを確認する場合は、array_key_exists() 関数を使用できます。この関数の基本的な使用法は次のとおりです。

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

ここで、

$key は検索対象のキー名、$array は検索対象の配列です。指定されたキーが見つかった場合、関数は true を返し、それ以外の場合は false を返します。

例:

$ages = ['Alice' => 18, 'Bob' => 21, 'Charlie' => 24];
var_dump(array_key_exists('Alice', $ages)); // 输出 true
var_dump(array_key_exists('David', $ages)); // 输出 false
ログイン後にコピー

上記のコードでは、連想配列

$ages を定義し、array_key_exists() 関数を使用して 'Alice を検索します。 ''David' は 2 つのキー名で、結果はそれぞれ truefalse を返します。

array_key_exists() 関数は、連想配列内のキー名の検索にのみ使用でき、通常の配列内の要素値の検索には使用できないことに注意してください。

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

一致する可能性のあるキー名が複数ある場合は、isset() 関数を使用して判断できます。この関数の基本的な使用法は次のとおりです。

isset($array[$key]);
ログイン後にコピー

ここで、

$array は検索対象の配列、$key は照合対象のキー名です。キー名が一致する場合、isset() 関数は true を返し、そうでない場合は false を返します。

例:

$settings = ['debug' => true, 'auth' => false, 'port' => 80];
var_dump(isset($settings['debug'])); // 输出 true
var_dump(isset($settings['logging'])); // 输出 false
ログイン後にコピー
上記のコードでは、連想配列

$settings を定義し、isset() 関数を使用して 'debug を検索します。 ''logging' は 2 つのキー名で、結果はそれぞれ truefalse を返します。

概要:

PHP では、in_array() 関数、array_search() 関数、array_key_exists() 関数、isset の使用など、配列内に文字列が存在するかどうかを判断するさまざまな方法があります。 ()関数など。これらの関数を使用して判断する場合は、大文字と小文字の区別や配列の種類(1次元配列と多次元配列)に注意する必要があります。実際のニーズに応じて適切な方法を選択することで、プログラムの操作効率と精度を向上させることができます。

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

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