PHP函数in_array()使用详解
author:一佰互联 2019-04-29   click:192

PHP有一个系统函数is_array()可以判断一个值是否在数组中。
语法如下:
复制代码 代码如下:
in_array(value,array,type)
return boolen

参数说明:
value :要搜索的值
array : 被搜索的数组
type : 类型,true全等 ,false非全等(默认)

示例一:普通使用

代码:
复制代码 代码如下:
$str = 1;
 
$arr = array(1,3,5,7,9);
 
$boolvalue = in_array($str,$arr);
 
var_dump($boolvalue);

执行结果:
复制代码 代码如下:
bool(true)

实例二:使用第三个参数
非全等
代码:
复制代码 代码如下:
$str = "1";
 
$arr = array(1,3,5,7,9);
 
$boolvalue = in_array($str,$arr,false);
 
var_dump($boolvalue);

执行结果:
复制代码 代码如下:
bool(true)

全等
代码:
复制代码 代码如下:
$str = "1";
 
$arr = array(1,3,5,7,9);
 
$boolvalue = in_array($str,$arr,true);
 
var_dump($boolvalue);

执行结果:
复制代码 代码如下:
bool(false)

实例三:克隆对象
代码:
复制代码 代码如下:
class a {
    public $a = 1; 
    public function fun(){
        return $this->a;
    }
}
 
class b {
    public $a = 2; 
    public function fun(){
        return $this->a;
    }
}
 
$a = new a();
$b = new b();
 
$c = clone $a;
 
$arr = array($a,$b);
 
$boolvalue = in_array($c,$arr,false);
 
var_dump($boolvalue);

执行结果:
复制代码 代码如下:
bool(true)

 
代码:
复制代码 代码如下:
class a {
    public $a = 1; 
    public function fun(){
        return $this->a;
    }
}
 
class b {
    public $a = 2; 
    public function fun(){
        return $this->a;
    }
}
 
$a = new a();
$b = new b();
 
$c = clone $a;
 
$arr = array($a,$b);
 
$boolvalue = in_array($c,$arr,true);
 
var_dump($boolvalue);

执行结果:
复制代码 代码如下:
bool(false)

示例四:多维数组
代码:
复制代码 代码如下:
$str = 10;
 
$arr = array(
    array(1,2,3,4),
    array(5,6,7,8,9),
    10
);
 
$boolvalue = in_array($str,$arr);
 
var_dump($boolvalue);

执行结果:
复制代码 代码如下:bool(true)
 
代码:
复制代码 代码如下:
$str = 10;
 
$arr = array(
    array(1,2,3,4),
    array(5,6,7,8,9,10),
);
 
$boolvalue = in_array($str,$arr);
 
var_dump($boolvalue);
执行结果:
复制代码 代码如下:
bool(false)