首页后端开发PHPPHP数组查找和搜索元素的操作是什么样的

PHP数组查找和搜索元素的操作是什么样的

时间2024-03-22 14:10:03发布访客分类PHP浏览612
导读:这篇文章主要给大家介绍“PHP数组查找和搜索元素的操作是什么样的”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“PHP数组查找和搜索元素的操作是什么样的”文章能对大家有所帮...
这篇文章主要给大家介绍“PHP数组查找和搜索元素的操作是什么样的”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“PHP数组查找和搜索元素的操作是什么样的”文章能对大家有所帮助。

在之前的文章中我们了解了可以通过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的话,在搜索的时候就会检查搜索的数据和所搜索的数组数据类型是否形同。

如果在数组中搜索到了对应的键值,返回的结果就是这个键值对应的键名;如果没有匹配到的话,返回的结果就是flase;其中需要注意一下,如果匹配到的键值不止一个,这时候返回的结果就是第一次匹配到键值的键名。

下面我们通过示例来看一下array_search函数的使用,示例如下:

?php
$a=array("a"=>
    "5","b"=>
    5,"c"=>
    "5");
    
echo array_search(5,$a,true) . 'br/>
    ';
    
$array = array(0 =>
     'blue', 1 =>
     'red', 2 =>
     'green', 3 =>
     'red');
    
echo array_search('green',$array,true);
    
?>
    

输出结果:

其中需要注意的是,当参数设置为true的时候,在数组进行搜索匹配的时候,不同的数据形式搜索的结果是不同的。

array_key_exists()函数-匹配数组键名返回布尔

在上文中我们通过array_search函数能够通过搜索键值输出搜索元素的键名,在PHP中也可以直接搜索键名。那就是通过PHP中的array_key_exists函数。

array_key_exists函数的基本语法格式如下:

array_key_exists(key,array)

其中需要注意的是:参数key表示的就是我们需要所搜的键名,参数array标识的就是我们需要进行搜索的数组,

通过array_key_exists函数只能够判断一维数组中的键名不能判断多维数组中数组内的键名,如果在数组中匹配到了指定的键名,该函数返回的结果就是true,如果数组中没有匹配到。返回的结果就是flase。

下面我们通过示例来看一下array_key_exists函数的使用,示例如下:

?php
$people = array("Bill", "a"=>
    "bob", "Mark", "coc");

if (array_key_exists(0, $people,))
  {
    
  echo "键名存在";

  }

else
  {
    
  echo "键名不存在";

  }
    
  echo 'br/>
    ';

if (array_key_exists("a",$people,))
  {
    
  echo "键名存在";

  }

else
  {
    
  echo "键名不存在";

  }
    
  echo 'br/>
    ';

if (array_key_exists("coc",$people,))
  {
    
  echo "键名存在";

  }

else
  {
    
  echo "键名不存在";

  }
    
?>
    

输出结果:

由此我们便通过array_key_exists来进行在一个数组中找到一个指定的键。


通过以上内容的阐述,相信大家对“PHP数组查找和搜索元素的操作是什么样的”已经有了进一步的了解,更多相关的问题,欢迎关注网络或到官网咨询客服。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

PHP数组

若转载请注明出处: PHP数组查找和搜索元素的操作是什么样的
本文地址: https://pptw.com/jishu/650603.html
PHP计算数组元素的乘积的三种方法是什么 Pytorch数据加载和处理怎样实现

游客 回复需填写必要信息