PHP 在数组中查找值

PHP 在数组中查找值

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

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

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

1. PHP array_search()函数

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

语法

array_search(value,array, strict_parameter)

参数

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设置为其默认值。

<?php
// PHP function to demonstrate the use of array_search()

function Search(search_value,array_name)
{
// using the array_search() function to find specific array value
    return(array_search(search_value,array_name));
}
//defining the array
array_name = array("Reema", "Dilip", "Anirudh", "Aniket", "Rohit");search_value = "Dilip";
print_r (search_value ." is at position ");
//will return the position of search value in the array
print_r(Search(search_value, $array_name));
?>

输出

Dilip is at position 1

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

<?php
// PHP function to demonstrate the use of array_search()
function Search(search_value,array)
{
//using array_search() function where strictness is set to false
    return(array_search(search_value,array,false));
}
//defining the array with two occurrence of search value
array = array (415, 15, 11, 212, 212, 100, 100);search_value = "100";
print_r (search_value ." is at position ");
//will return the key of the first occurrence
print_r(Search(search_value, $array));
?>

输出

100 is at position 5

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

<?php
// PHP function to illustrate the use of array_search()
function Search(search_value,array)
{
    ////using array_search() function where strcitness is set to True
    return(array_search(search_value,array, true));
}
//defining the array with two occurrence of search value
array = array(415, 15, 11, 212, 212, 100, 100);search_value = "100";
print_r (search_value ." is at position ");
//will return the key of the first occurrence if it founds the exact match
//because we are looking for string and the array data is in integer
//array_search() function will return null
print_r(Search(search_value, $array));
?>

输出

100 is at position 

2. PHP in_array() 函数

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

语法

in_array ( value,array_name ,$mode )

参数

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

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

返回值

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

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

<?php
marks = array(10, 615, 710, 7);search_value= "10";
//find the element 10 in the array
//by default the mmode parameter is set to false
if (in_array(search_value,marks))
  {
//in_array() will return true and the strictness mode is set to false
  echo "The element ". search_value. " exits in the array.";
  }
else
  {
  echo "The element ".search_value. " does not exists in the array";
  }
?>

输出

The element 10 exits in the array.

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

<?php
//defining the array
people = array("Reema", "Indranil", "Rahul", "Varun", 213);search_value="23";
if (in_array(search_value,people, TRUE))
  {
  echo "The element '". search_value. "' exits in the array. \n";
  }
else
  {
  echo "The element '".search_value. "' does not exists in the array. \n";
  }
search_value="Indranil";
if (in_array(search_value, people, TRUE))
  {
  echo "The element '".search_value. "' exits in the array. \n";
  }
else
  {
  echo "The element '". search_value. "' does not exists in the array. \n";
  }search_value="Reema";
if (in_array(search_value,people, TRUE))
 {
  echo "The element '". search_value. "' exits in the array. \n";
  }
else
  {
  echo "The element '".search_value. "' does not exists in the array. \n";
  }
?>

输出

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. 

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程