in_array

(PHP 4, PHP 5)

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

説明

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

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

3番目のパラメータstrictTRUEに設定された場合、 in_array()は、haystack の中の needleも確認します。

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

注意: PHP4.2.0以前ではneedleに 配列を使用することはできませんでした。

例 1. in_array()の例

$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() も参照ください。