【PHP初心者向け】 配列の中から要素があるかをチェックする in_array

こんにちは。
室内用にブルーライトカットレンズのついたメガネを買おうか迷ってる、裕です!

ややこしい配列操作に苦手意識を持っている方も多いと思います。
配列から検索したい時ってありますよね?

そこで今回はPHP初心者に向けて、
配列の中に、要素があるかをチェックする in_array
について解説します。

ぜひ、読んでみて理解を深めてみて下さいね。

in_arrayの引数を解説

まずin_arrayの基本的な書き方です。

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

needle

配列の中から探したい値(必須)

haystact

探す対象の配列(必須)

strict

検索時に厳密な比較を行うかどうかを設定します。

初期値:false

返り値

配列の中から値が見つかった場合はtrueを返します。

それ以外の場合はfalseを返します。

in_arrayの書き方

基本的な検索の仕方

<?php

$array = array(“orange”, “banana”, “apple”, “grape”, “strawberry”, “melon”);

$result = in_array(“orange”, $array);

var_dump($result);

?>

結果は下記になります。

bool(true)

第一引数である「orange」第二引数の「$array」から検索しました。

「$array」の中に「orange」があるので結果はtrueになります。

厳密に比較する

第三引数を設定せずに検索してみます。

<?php

$array = array(‘1’,2);

$result = in_array(1, $array);

var_dump($result);

?>

結果は下記になります。

bool(true)

第三引数を設定しないと数値文字列の「1」を両方同じものとして取ってきます。

では、第三引数にtrueを設定して検索してみます。

<?php

$array = array(‘1’,2);

$result = in_array(1, $array, true);

var_dump($result);

?>

結果は下記になります。

bool(false)

第三引数にtrueを設定すると厳密比較(===)を行います。

そのため文字列型 ’1’数値型 1 を違うものとして判断されるため false となります。

in_arrayの使用例

配列の中から任意の要素があった場合の処理

<?php

$array = array(“orange”, “banana”, “apple”, “grape”, “strawberry”, “melon”);

$needle = “apple”;

if(in_array($needle, $array)){

    $key = array_search($needle, $array);

    var_dump($key.’番目のキーに’.$needle.’がありました。’);

}else{

    var_dump($needle.’はありません。’);

}

?>

結果は下記になります。

string(45) “2番目のキーにappleがありました。”

In_arrayの結果はtruefalseで返されるのでそのまま条件分岐に使うことができます。

配列に「apple」が場合、array_search()を使って「apple」が何番目のキーかを確認しています。

まとめ

いかがでしたか?

今回は配列に指定した値があるかをチェックする

in_array」について、解説しました。

これで配列から値でキーを検索することができますね。

是非使ってみて下さい。

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?