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);
Output:
bool(true)
实例二:使用第三个参数
非全等
$str = '1';
$arr = array(1, 3, 5, 7, 9);
$boolvalue = in_array($str, $arr, false);
var_dump($boolvalue);
Output:
bool(true)
全等
代码:
$str = '1';
$arr = array(1, 3, 5, 7, 9);
$boolvalue = in_array($str, $arr, true);
var_dump($boolvalue);
Output:
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);
Output:
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);
Output:
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);
Output:
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);
Output:
bool(false)