SYNCERのロゴ
アイキャッチ画像

in_array - 配列が指定した値を含むかチェックする

in_arrayは、ある配列が、指定した値を持っているか否かを確認する関数です。デフォルトでは型を考慮しない$a==$bの比較ですが、第3引数を指定すれば$a===$bの厳密な比較にできます。

構文

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

パラメータ

$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 ) ;
bool(true)

型が考慮されない

デフォルトでは値の型を考慮せずに比較されます。そのため、例えばtrueと"1"は同じものとして扱われます。結果、下記の返り値はtrueです。

<?php
/*** このコードは編集できます。 ***/

	$haystack = [ true, false ] ;

	$response = in_array( "1", $haystack ) ;

	var_dump( $response ) ;
bool(true)

厳密に比較をする

第3引数にtrueを指定することで、型を考慮した厳密な比較ができます。今度は結果がfalseになりました。

<?php
/*** このコードは編集できます。 ***/

	$haystack = [ true, false ] ;

	$response = in_array( "1", $haystack, true ) ;

	var_dump( $response ) ;
bool(false)
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年6月26日 (月)
コンテンツを公開しました。