PHP 在数组中查找值

2024 年 8 月 29 日 | 阅读 6 分钟

在使用 PHP 数组时,程序员在从数据库导入数据时经常需要搜索一个值。为了减轻工作量,PHP 开发人员已经引入了一些内置函数,可以帮助用户在给定数组中搜索和定位特定值。下面提供了两个用于在数组中搜索值的 PHP 函数:

  1. PHP | in_array() 函数
  2. PHP array_search() 函数

本教程将简要介绍这两个函数的语法、返回值、参数和各种示例。

1. PHP array_search() 函数

PHP array_search() 是一个内置函数,广泛用于在给定数组中搜索和定位特定值。如果成功找到特定值,它将返回其对应的键值。如果元素找到两次或更多次,则返回匹配值的第一次出现的键。

语法

参数

array_search() 函数接受三个参数,其中两个是必需的,最后一个是可选的。此函数的参数如下:

  1. $value (必需): 此参数表示用户希望在给定数组中搜索的值。
  2. $array (必需): 此参数表示用户希望在其中搜索元素的原始数组。
  3. strict_parameter (可选): 这是一个可选参数,可以设置为 TRUE 或 FALSE。它表示数组搜索的严格性。默认情况下,此参数设置为布尔值 FALSE。
    • 如果 strict_parameter 设置为 TRUE,则函数会在数组中查找相似的值,即字符串 200 不会被视为与整数 200 相同。因此,这两个值是不同的。
    • 如果 strict_parameter 设置为布尔值 FALSE,则不保留严格性,即字符串 200 将被视为与整数 200 相同。

返回

array_search() 函数返回所传递的相应元素的键。

  • 如果在数组中找不到搜索值,则返回布尔值 False。
  • 否则,如果值存在于数组中,则返回 True。如果搜索值在数组中出现多次,则返回第一次匹配的键。

示例 1:在下面的程序中,我们学习如何借助 array_search() 函数搜索数组值,其中 strict_parameter 设置为其默认值。

输出

Dilip is at position 1

示例 2:在下面的程序中,我们学习如何借助 array_search() 函数搜索数组值,如果 strict_parameter 设置为 FALSE。

输出

100 is at position 5

示例 3:在下面的程序中,我们学习如何借助 array_search() 函数搜索数组值,如果 strict_parameter 设置为 TRUE。

输出

100 is at position 

2. PHP in_array() 函数

PHP in_array() 函数也是一个内置函数,用于查找指定元素是否存在于给定数组中。如果给定值存在于数组中,此函数返回布尔值 TRUE,否则如果找不到该值,则返回 FALSE。

语法

参数

in_array() 函数接受以下三个参数,其中两个是必需的,其余一个是可选的:

  1. $search_value (必需): 此参数用于指定用户希望在数组中搜索的元素或值。search_value 参数可以包含混合类型值,即它接受字符串或整数类型或任何其他数据类型值。如果用户使用字符串类型值,则数组搜索将以区分大小写的方式实现。
  2. $array_name (必需): 此参数表示用户希望在其中执行搜索操作的数组。
  3. $mode (可选): 此可选参数接受布尔值,即 True 或 False。它表示用户希望执行搜索操作的模式。默认情况下,此参数设置为 FALSE。
    • 如果模式设置为 TRUE,则函数会在数组中查找相似的值,即字符串 200 不会被视为与整数 200 相同。因此,这两个值是不同的。
    • 如果模式设置为布尔值 FALSE,则不保留严格性,即字符串 200 将被视为与整数 200 相同。

返回值

in_array() 函数返回一个布尔值,即 TRUE 或 FALSE。如果在给定数组中找到搜索值,则返回布尔值 True。否则,如果找不到该值,则返回 FALSE。

示例 1: 在下面的程序中,我们实现了 in_array() 函数以在非严格模式下执行数组搜索操作。为此,我们将最后一个参数 $mode 设置为 false,这是其默认值。

输出

The element 10 exits in the array.

示例 2:在下面的程序中,我们实现了 in_array() 函数以在严格模式下执行数组搜索操作。为此,我们将最后一个参数 $mode 设置为 True。

输出

The element '23' does not exist in the array. 
The element 'Indranil' does not exists in the array. 
The element 'Reema' does not exists in the array.