在之前的文章中我们了解了可以通过strcmp
()函数 和 strcasecmp
() 函数来进行字符串的比较,字符串是PHP中的重要数据类型之一,PHP开发过程中还有很重要的数据类型就是数组,我们了解了可以对字符串进行比较、定位和替换等等的操作,那么对于同样重要的数组我们有什么常用的操作吗?
在之前的文章《PHP中怎样去定位字符串与数组中的元素?》我们讲到了怎样去搜索定位字符串与数组中的元素,其中讲到可以通过preg_grep
()函数来对数组元素进行定位搜索,下面我们就来看一下更多的方法去查找和搜索数组中的元素。
in_array
()函数-匹配数组元素返回布尔
在PHP中我们可以通过in_array
()函数来对数组中的元素进行搜索,in_array
()函数的基本语法格式如下:
in_array(search,array,type)
其中需要注意的是:参数search
表示的是我们需要在数组中搜索的值,参数array
表示的是我们需要进行搜索的数组,参数type
是一个可选参数,如果参数的取值是true
的话,在搜索的时候就会检查搜索的数据和所搜索的数组数据类型是否形同。
如果在数组中找到了我们需要搜的的值,函数返回的结果就是true
;如果没有在数组中找到我们需要搜索到的值,返回的结果就是false
。
接下来我们通过简单的示例来看一下PHP中in_array()函数的应用,示例如下:
<?php $people = array("Bill", "bob", "Mark", "coc"); if (in_array("23", $people, TRUE)) { echo "在数组中"; } else { echo "不在数组中"; } echo '<br/>'; if (in_array("Mark",$people, TRUE)) { echo "在数组中"; } else { echo "不在数组中"; } echo '<br/>'; if (in_array("bill",$people, TRUE)) { echo "在数组中"; } else { echo "不在数组中"; } ?>
输出结果:
在上述示例中,我们第三次匹配搜索的时候,我们是用来小写,并没有匹配成功,其中需要注意的是如果我们需要搜索的内容是个字符串的话,并且参数type的设置为true,那么进行搜索的时候就会区分大小写。
array_search
() 函数-匹配数组元素返回键名
上文中的in_array
函数知识单纯地搜索判断数组中有没有我们需要进行找的元素,还没办法进行定位,想要准确的进行定位找到的话呢,在PHP中我们可以通过array_search
() 函数,该函数可以搜索元素,返回的结果是我们搜索元素的键名。
array_search
()函数的基本语法格式如下:
array_search(value,array,strict)
其中需要进行注意的是:参数value
是我们需要进行搜索的键值,参数array
就是我们需要进行搜索的数组,参数strict
是一个可选参数,该参数默认情况下是flase
,如果参数设置为true
的话,在搜索的时候就会检查搜索的数据和所搜索的数组数据类型是否形同。