数组 函数
PHP Manual

in_array

(PHP 4, PHP 5)

in_array检查数组中是否存在某个值

说明

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

haystack 中搜索 needle,如果找到则返回 TRUE,否则返回 FALSE

如果第三个参数 strict 的值为 TRUEin_array() 函数还会检查 needle类型是否和 haystack 中的相同。

Note:

如果 needle 是字符串,则比较是区分大小写的。

Note:

在 PHP 版本 4.2.0 之前,needle 不允许是一个数组。

Example #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

Example #2 in_array() 严格类型检查例子

<?php
$a 
= array('1.10'12.41.13);

if (
in_array('12.4'$atrue)) {
    echo 
"'12.4' found with strict check\n";
}
if (
in_array(1.13$atrue)) {
    echo 
"1.13 found with strict check\n";
}
?>

以上例程会输出:

1.13 found with strict check

Example #3 in_array() 中用数组作为 needle

<?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()

参数

needle

The searched value.

Note:

If needle is a string, the comparison is done in a case-sensitive manner.

haystack

The array.

strict

If the third parameter strict is set to TRUE then the in_array() function will also check the types of the needle in the haystack.

返回值

Returns TRUE if needle is found in the array, FALSE otherwise.

更新日志

版本 说明
4.2.0 needle may now be an array.

范例

Example #4 in_array() example

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

The second condition fails because in_array() is case-sensitive, so the program above will display:

Got Irix

Example #5 in_array() with strict example

<?php
$a 
= array('1.10'12.41.13);

if (
in_array('12.4'$atrue)) {
    echo 
"'12.4' found with strict check\n";
}

if (
in_array(1.13$atrue)) {
    echo 
"1.13 found with strict check\n";
}
?>

以上例程会输出:

1.13 found with strict check

Example #6 in_array() with an array as needle

<?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

参见


数组 函数
PHP Manual