PHP には実用的な関数が多数ありますが、その中でも in_array() 関数は最もよく使用される関数の 1 つです。この記事ではin_array()関数の使い方を詳しく紹介します。
まず、in_array() 関数を使用して、配列に値が存在するかどうかを確認します。存在する場合は true を返し、存在しない場合は false を返します。
in_array() 関数の構文は次のとおりです。
in_array($needle, $haystack, $strict)
パラメータの説明:
ここにいくつかの例があります:
$arr1 = array("apple", "banana", "orange"); echo in_array("apple", $arr1); // 输出 1 (true) echo in_array("lemon", $arr1); // 输出空 (false)
上の例では、in_array() 関数が「apple」を正常に見つけて true を返し、「lemon」については次のことがわかります。見つからず、false が返されました。
次に、より複雑な使用法を見てみましょう。
1. 複数の値が存在するかどうかを確認する
場合によっては、複数の値が存在するかどうかを確認する必要があります。これは、in_array() 関数をループすることで実現できます。
$names = array("Alice", "Bob", "Charlie", "Dave", "Eve"); $search = array("Alice", "John"); foreach ($search as $name) { if (in_array($name, $names)) { echo "$name exists in names."; } else { echo "$name does not exist in names."; } }
この例では、ループ内の $names 配列に「Alice」と「John」が存在するかどうかを確認します。例えば、「名前にアリスは存在します。」「名前にはジョンは存在しません。」と出力されます。
2. 厳密モードを使用する
チェックされた値が配列内の値の型および値と正確に一致することを確認したい場合は、厳密モードを使用できます。この場合、値は 2 つの型と値が正確に一致する場合にのみ存在するとみなされます。 Strict モードは、3 番目のパラメータを true に設定することで有効にできます。
$numbers = array("1", 2, 3); echo in_array(1, $numbers); // 输出 1(true) echo in_array(1, $numbers, true); // 输出 空(false)
上の例では、厳密モードが使用されていない場合、「1」と整数 1 は等しいとみなされます。ただし、厳密モードを使用すると、型が考慮されるため、それらは不等であるとみなされます。
3. in_array() 関数を使用して単純な権限制御を実装する
もう 1 つの in_array() 関数を使用して、単純な権限制御を実装します。たとえば、一連のユーザー ロールと、ページへのアクセスを許可する一連のロールがあるとします。 in_array() 関数を使用して、ユーザーのロールがページへのアクセスを許可しているかどうかを確認できます。
$user_role = "manager"; // 用户角色为manager $allowed_roles = array("manager", "admin", "superadmin"); // 允许用户角色 if (in_array($user_role, $allowed_roles)) { // 用户允许访问 } else { // 用户不允许访问 }
上の例では、$user_role が $allowed_roles 配列に含まれているかどうかを確認します。含まれている場合、ユーザーはアクセスを許可されます。それ以外の場合はアクセスが許可されません。
概要:
in_array() 関数は、配列内に値が存在するかどうかを簡単にチェックできる、PHP の非常に実用的な関数です。ループと厳密モードを使用して、より複雑な使用法を行うこともできます。 in_array() 関数の使い方をマスターすることで、PHP コードの記述効率を向上させることができます。
以上がPHPのin_array()関数の使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。