LoginSignup
3
0

More than 3 years have passed since last update.

array_searchの返り値が0の場合の条件分岐

Last updated at Posted at 2020-06-12

array_searchとは

指定した値を配列の中から検索し、見つかったら最初のキーを返す。

例えば、

$array = {'いちご','さくらんぼ','めろん'};

の場合、
$key = array_search('さくらんぼ', $array);

とすると
$key = 1となる。

$key=0の場合

例えば、検索するワードをもつ配列の要素が存在する場合としない場合で条件分岐したいとき、
keyが0になる場合のことを考慮しなければならない。

keyが0の場合、

if($key)[
echo 'keyがあります';
}

if(!empty($key)){
echo 'keyがあります';
}

という書き方をするとfalseになる
なぜならif($key)0false
empty($key)0trueとみなすため。

そのため、

if($key !== false){
echo 'keyがあります';
}

とする必要がある。

if($key != false){
echo 'keyがあります';
}

こうしてしまうと、データ型まで一致しているか検証してくれないので、
0falseとみなされる

== 値が同じ
=== 値とデータ型が同じ

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0