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)) {
    print "Got Irix";
}
if (in_array ("mac", $os)) {
    print "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";
}

/* Outputs:
  'ph' was found
  'o' was found
*/
?>

array_search()も参照下さい。