PHP マニュアル
前のページ |  | 次のページ

# in_array

(PHP 4, PHP 5)

in_array -- 配列に値があるかチェックする

## 説明

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

`needle` で `haystack` を検索し、配列にそれがあった場合に `TRUE`、それ以外の場合は、`FALSE` を返します。

三番目のパラメータ `strict` が `TRUE` に設定された場合、 in_array() は、`haystack` の中の `needle` の 型も確認します。

> 注意: `needle` が文字列の場合、 比較の際に大文字小文字は区別されます。

> 注意: PHP 4.2.0 以前では `needle` に配列を使用することはできませんでした。

例 1. in_array() の例

`<?php $os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) { echo "Got Irix"; } if (in_array("mac", $os)) { echo "Got mac"; } ?>`

二番目の条件式は失敗します。in_array() は大文字小文字を区別するからです。したがって次のような出力になります。

    Got Irix

例 2. strict を指定した in_array() の例

`<?php $a = array('1.10', 12.4, 1.13); if (in_array('12.4', $a, true)) { echo "'12.4' found with strict check\n"; } if (in_array(1.13, $a, true)) { echo "1.13 found with strict check\n"; } ?>`

上の例の出力は以下となります。

    1.13 found with strict check

例 3. needleが配列の場合の in_array()

`<?php $a = array(array('p', 'h'), array('p', 'r'), 'o'); if (in_array(array('p', 'h'), $a)) { echo "'ph' was found\n"; } if (in_array(array('f', 'i'), $a)) { echo "'fi' was found\n"; } if (in_array('o', $a)) { echo "'o' was found\n"; } ?>`

上の例の出力は以下となります。

    'ph' was found
      'o' was found

array_search()、 array_key_exists() および isset() も参照ください。

前のページ | ホーム | 次のページ
extract | 上に戻る | key