体験談ホームPHPPHPで配列の値を検索するin_array、array_searchの使い方2020.01.23PHPの配列から値を検索し、判定及び値のキーを取得できる2つの関数を、サンプルコードを交えて解説します。配列から値が存在するか調べるPHPのin_arrayは、調べたい値が配列内に存在するかどうかを検索し、存在したらtrue、なければfalseを返す関数です。引数に調べたい値を、第二引数に対象の配列を設定します。'配列内に値がありました。'配列内に値がありません。';}配列内に値がありました。型の一致も検索条件に含める場合、第三引数にtrueを入れるin_arrayのデフォルトの検索は「曖昧な比較」で行われます。‘hoge’」もtrueとなるので、想定と違う結果が返ってくる恐れがあります。PHPの「==」で文字列と数値を比較する時の注意点PHPで文字列と数値で値を比較する時の仕様と注意点をまとめました。バグやセキュリティホールの原因ともなり得るPHPの緩やかな比較「==」の仕様を理解しておきましょう。kinocolog.comこれを避けるために、in_arrayの第三引数に「true」を入れましょう。すると、型も一致した場合のみ検索に引っかかる厳密な比較となります。'配列内に値がありました。'配列内に値がありません。';}配列内に値がありました。'配列内に値がありました。'配列内に値がありません。';}配列内に値がありません。配列から値に対応したキーを取得する配列内に値があるかどうかだけを知りたいならin_array()で十分です。検索した値のキーを取得したい場合は、検索した値のキーを取得するarray_search()が利用できます。in_array()に同じく、第一引数に調べたい値を、第二引数に対象の配列を設定してください。値が見つかればその値のキーを、見つからない場合はfalseを返します。'USAのキーは'.$key;USAのキーは1第三引数にtrueを入れることで、厳密な比較による検索可こちらもin_array()に同じく、第三引数にtrueを設定することで厳密な比較による検索が可能です。'100のキーは見つかりません';}100のキーは見つかりません見つからない場合はfalseを返すので、変数がtrue/false型かを調べるis_bool関数を使用して判定しています。同じ値が複数ある場合は、最初のキーを取得する同じ値が複数配列に含まれていた場合は、最初に見つかった値のキーを取得するので注意です。'Japanのキーは'.$key;Japanのキーは0↑の例では、値「Japan」が入ったキーは0と3ですが、先にヒットする0を取得します。例では連番の配列を紹介しましたが、キーに文字列が含まれる連想配列も問題なく取得できます。繰り返しますが、array_searchは値が見つかればその値のキーを、見つからない場合はfalseを返す関数です。キーが連番となる配列で、先頭の値のキーを調べようとした時は「0」を返します。「0」はifの判定では偽となるため、if文でarray_searchを使用すると、「値があるのにifの判定を通らない」可能性があります。'Japanはありません';}Japanはありませんこれを回避するには、返却をtrue/falseで返すin_array()を使用するか、返却がfalseかを調べられるis_boolで判定を行う必要があります。'Japanはありません';}Japanのキーは0PHPの配列の検索方法について、いくつかのサンプルを交えて解説しました。in_array()とarray_search()、状況に応じて使い分けていきましょう。以上、PHPで配列の値を検索するin_array、array_searchの使い方、でした。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイトスポンサーリンクサイト内検索のちょうのプロフィールのちょうといいます。転職してWEBプログラマーになりました。趣味で任天堂のファンサイトをいくつか作っています。ポケモンとスマブラが大好き。@noticoco連絡先nochokinococo○gmail.com○を@に置き換えてください。制作講座jQuery入門jQueryの使い方を解説したページです。体験談ホーム検索トップサイドバースポンサーリンクサイト内検索のちょうのプロフィールのちょうといいます。転職してWEBプログラマーになりました。趣味で任天堂のファンサイトをいくつか作っています。ポケモンとスマブラが大好き。@noticoco連絡先nochokinococo○gmail.com○を@に置き換えてください。制作講座jQuery入門jQueryの使い方を解説したページです。UPDATE」の使い方2020.02.05PHPで診断テストプログラムの作り方【サンプルコードで解説】2020.01.302020.02.06jQueryで配列の値を検索し、判定を行う方法【サンプルコードで解説】2020.01.29PHPのmb_convert_kanaで全角⇔半角の変換を行う方法2020.01.27タイトルとURLをコピーしました。