in_array - 配列が指定した値を含むかチェックする
in_arrayは、ある配列が、指定した値を持っているか否かを確認する関数です。デフォルトでは型を考慮しない$a==$bの比較ですが、第3引数を指定すれば$a===$bの厳密な比較にできます。
構文
パラメータ
$needle
値。
$haystack
対象の配列。
$strict
比較方法を厳密にするか。通常は$a==$bで型を考慮しないが、trueを指定することで、$a===$bの厳密な比較にできる。
返り値
bool
配列が指定した値を含んでいた場合はtrue、含んでいなかった場合はfalse。
サンプルコード
<?php
$haystack = [ "a", "b", "c", "d", "e" ] ;
$response = in_array( "d", $haystack ) ;
デモ
指定した値があるか確認する
配列が指定した値を含んでいるか否かを確認します。
<?php
/*** このコードは編集できます。 ***/
$haystack = [ "a", "b", "c", "d", "e" ] ;
$response = in_array( "d", $haystack ) ;
var_dump( $response ) ;
型が考慮されない
デフォルトでは値の型を考慮せずに比較されます。そのため、例えばtrueと"1"は同じものとして扱われます。結果、下記の返り値はtrueです。
<?php
/*** このコードは編集できます。 ***/
$haystack = [ true, false ] ;
$response = in_array( "1", $haystack ) ;
var_dump( $response ) ;
厳密に比較をする
第3引数にtrueを指定することで、型を考慮した厳密な比較ができます。今度は結果がfalseになりました。
<?php
/*** このコードは編集できます。 ***/
$haystack = [ true, false ] ;
$response = in_array( "1", $haystack, true ) ;
var_dump( $response ) ;
参考
- PHP: in_array
- PHPの公式リファレンス。
関連記事
- array_count_values
- 配列の値の登場回数を調べる。
- array_keys
- 配列のキーの一覧を取得する。
- array_diff_assoc
- 配列の要素の差異を確認する。
- array_unique
- 配列から重複した値を削除する。
- array_search
- 配列から指定した値を検索する。
- array_diff
- 配列の値の差異を確認する。