PHP 在数组中查找值
在使用PHP数组时,程序员经常需要在从数据库导入数据时搜索特定的值。为了减轻工作负担,PHP开发人员已经引入了一些内置函数,帮助用户在给定的数组中搜索和定位特定的值。以下是用于在数组中搜索值的两个PHP函数:
本教程将简要介绍这两个函数的语法、返回值、参数和各种示例。
1. PHP array_search()函数
PHP array_search()是一个内置函数,广泛用于在给定的数组中搜索和定位特定的值。如果成功找到特定的值,它将返回其对应的键值。如果元素多次出现,则返回匹配值的键的第一个出现。
语法
参数
array_search()函数接受三个参数,其中两个参数是必需的,最后一个是可选的。该函数的参数如下:
- $value(必需): 该参数表示用户希望在给定数组中搜索的值。
- $array(必需): 该参数表示原始数组,用户希望在其中搜索元素。
- strict_parameter(可选) :这是一个可选参数,可以设置为TRUE或FALSE。它表示数组搜索的严格性。默认情况下,该参数设置为布尔值FALSE。
- 如果strict_parameter设置为TRUE,则函数在数组中查找相似的值,即字符串200不会被视为与整数200相同。因此,这两个值是不同的。
- 如果strict_parameter设置为布尔值FALSE,则不保留严格性,即字符串200将被视为与整数200相同。
返回值
array_search()函数返回传递的相应元素的键。
- 如果在数组中找不到搜索值,则返回布尔值False,
- 否则,如果值存在于数组中,则返回True。如果搜索值在数组中出现多次,则返回第一个匹配的键。
示例1:在下面的程序中,我们学习如何使用array_search()函数搜索数组值,其中strict_parameter设置为其默认值。
输出
示例2:在下面的程序中,我们学习如何使用array_search()函数来搜索数组值,如果strict_parameter参数设置为FALSE。
输出
示例3:在下面的程序中,我们学习如何使用array_search()函数来搜索数组值,如果strict_parameter设置为TRUE。
输出
2. PHP in_array() 函数
PHP in_array() 函数也是一个内置函数,用于判断给定数组中是否存在指定元素。该函数返回一个布尔值 TRUE,如果给定的值存在于数组中,如果找不到该值,则返回 FALSE。
语法
参数
in_array()函数接受以下三个参数,其中两个是必需的,另一个是可选的:
- $search_value(必需): 此参数用于指定用户要在数组中搜索的元素或值。search_value参数可以容纳混合类型的值,即它可以接受字符串或整数类型或任何其他数据类型的值。如果用户使用字符串类型的值,则数组搜索将以区分大小写的方式实现。
- $array_name(必需): 此参数表示用户要执行搜索操作的数组。
- $mode(可选): 此可选参数接受布尔值,即True或False。它表示用户要执行搜索操作的模式。默认情况下,此参数设置为FALSE。
- 如果mode设置为TRUE,则函数将在数组中查找相似的值,即字符串200将不被视为与整数200相同。因此,这两个值是不同的。
- 如果mode设置为布尔值FALSE,则不保留严格性,即字符串200将被视为与整数200相同。
返回值
in_array()函数返回一个布尔值,即True或False。如果在给定的数组中找到搜索值,则返回布尔值True。否则,如果未找到该值,则返回FALSE。
示例1: 在下面的程序中,我们使用in_array()函数以非严格模式执行数组搜索操作。为此,我们将最后一个参数$mode设置为false,这是它的默认值。
输出
示例2:在下面的程序中,我们使用in_array()函数以严格模式执行数组搜索操作。 为此,我们将最后一个参数$ mode设置为True。
输出