通过前面一节的学习我们知道,使用《array_key_exists() 函数》可以判断数组中是否包含某个键值或索引,那如果我们不知道数组的键名或索引名称,想要直接查找数组中是否存在某个值的话,可以使用 PHP 中的 in_array() 函数。
in_array() 函数可以查找数组中是否包含某个值,如果存在则返回 TRUE,不存在则返回 FALSE。语法格式如下:
参数说明如下:
提示:in_array() 函数只适用于在一维数组中查找某个元素,不会递归查找数组中每个维度的元素。
【示例】使用 in_array() 函数判断数组中是否包含某个值。
- <?php
- $array = array(
- 'name' =>'城东书院',
- 'url' =>'http://www.cdsy.xyz/computer/programme/PHP/',
- 'title' =>'PHP教程',
- 'pid' =>1111,
- array(
- 'id'=>1234,
- 'article'=>'in_array() 函数'
- )
- );
- if(in_array('1234', $array, true)){
- echo '数组中包含“1234”<br>';
- }else{
- echo '数组中不包含“1234”<br>';
- }
- if(in_array('php教程', $array)){
- echo '数组中包含“php教程”<br>';
- }else{
- echo '数组中不包含“php教程”<br>';
- }
- if(in_array('1111', $array)){
- echo '数组中包含“1111”<br>';
- }else{
- echo '数组中不包含“1111”<br>';
- }
- if(in_array('1111', $array, true)){
- echo '数组中包含字符串类型的“1111”<br>';
- }else{
- echo '数组中不包含字符串类型的“1111”<br>';
- }
- ?>
运行结果如下:
in_array() 函数的第一个参数除了可以是一个具体的值外,还可以是一个数组。也就是说使用 in_array() 函数还可以判断一个数组是否包含另一个数组。
【示例】使用 in_array() 函数判断一个数组是否包含另一个数组。
- <?php
- $array = array(
- 'name' =>'城东书院',
- 'url' =>'http://www.cdsy.xyz/computer/programme/PHP/',
- 'title' =>'PHP教程',
- array(
- 'id'=>1234,
- 'article'=>'in_array() 函数'
- )
- );
- $arr = array(
- 'id'=>1234,
- 'article'=>'in_array() 函数'
- );
- if(in_array($arr, $array)){
- echo '数组 $array 中包含数组 $arr';
- }else{
- echo '数组 $array 中不包含数组 $arr';
- }
- ?>
运行结果如下: