PHP函数in_array()使用详解

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)