in_array

(PHP 4, PHP 5)

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

说明

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

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

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

注: 如果 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. 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. 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()