0

0

PHP数组操作之匹配搜索数组中的元素和键名

WBOY

WBOY

发布时间:2021-11-05 10:39:27

|

4697人浏览过

|

来源于php中文网

原创

在之前的文章《php中怎样去比较字符串?(实例详解)》中我们详细的介绍了php中通过什么样的方法能够比较两个字符串的相关知识,本篇文章我们来看一下php中的数组操作的相关知识,希望对大家有帮助!

PHP数组操作之匹配搜索数组中的元素和键名

在之前的文章中我们了解了可以通过strcmp()函数 和 strcasecmp() 函数来进行字符串的比较,字符串是PHP中的重要数据类型之一,PHP开发过程中还有很重要的数据类型就是数组,我们了解了可以对字符串进行比较、定位和替换等等的操作,那么对于同样重要的数组我们有什么常用的操作吗?

在之前的文章《PHP中怎样去定位字符串与数组中的元素?》我们讲到了怎样去搜索定位字符串与数组中的元素,其中讲到可以通过preg_grep()函数来对数组元素进行定位搜索,下面我们就来看一下更多的方法去查找和搜索数组中的元素。

in_array()函数-匹配数组元素返回布尔

立即学习PHP免费学习笔记(深入)”;

在PHP中我们可以通过in_array()函数来对数组中的元素进行搜索,in_array()函数的基本语法格式如下:

in_array(search,array,type)

其中需要注意的是:参数search表示的是我们需要在数组中搜索的值,参数array表示的是我们需要进行搜索的数组,参数type是一个可选参数,如果参数的取值是true的话,在搜索的时候就会检查搜索的数据和所搜索的数组数据类型是否形同。

如果在数组中找到了我们需要搜的的值,函数返回的结果就是true;如果没有在数组中找到我们需要搜索到的值,返回的结果就是false

接下来我们通过简单的示例来看一下PHP中in_array()函数的应用,示例如下:

';
if (in_array("Mark",$people, TRUE))
  {
  echo "在数组中";
  }
else
  {
  echo "不在数组中";
  }
  echo '
'; if (in_array("bill",$people, TRUE)) { echo "在数组中"; } else { echo "不在数组中"; } ?>

输出结果:

1105.02.png

在上述示例中,我们第三次匹配搜索的时候,我们是用来小写,并没有匹配成功,其中需要注意的是如果我们需要搜索的内容是个字符串的话,并且参数type的设置为true,那么进行搜索的时候就会区分大小写。

array_search() 函数-匹配数组元素返回键名

上文中的in_array函数知识单纯地搜索判断数组中有没有我们需要进行找的元素,还没办法进行定位,想要准确的进行定位找到的话呢,在PHP中我们可以通过array_search() 函数,该函数可以搜索元素,返回的结果是我们搜索元素的键名。

array_search()函数的基本语法格式如下:

array_search(value,array,strict)

其中需要进行注意的是:参数value是我们需要进行搜索的键值,参数array就是我们需要进行搜索的数组,参数strict是一个可选参数,该参数默认情况下是flase,如果参数设置为true的话,在搜索的时候就会检查搜索的数据和所搜索的数组数据类型是否形同。

SEEK.ai
SEEK.ai

AI驱动的智能数据解决方案,询问您的任何数据并立即获得答案

下载

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

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

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

输出结果:

1105.03.png

其中需要注意的是,当参数设置为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函数的使用,示例如下:

"bob", "Mark", "coc");
if (array_key_exists(0, $people,))
  {
  echo "键名存在";
  }
else
  {
  echo "键名不存在";
  }
  echo '
'; if (array_key_exists("a",$people,)) { echo "键名存在"; } else { echo "键名不存在"; } echo '
'; if (array_key_exists("coc",$people,)) { echo "键名存在"; } else { echo "键名不存在"; } ?>

输出结果:

1105.04.png

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

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

2

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

2

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

0

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

0

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.29

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

25

2026.01.29

clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址
clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址

clawdbot龙虾机器人官网入口:https://clawd.bot/,clawdbot ai是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

16

2026.01.29

Golang 网络安全与加密实战
Golang 网络安全与加密实战

本专题系统讲解 Golang 在网络安全与加密技术中的应用,包括对称加密与非对称加密(AES、RSA)、哈希与数字签名、JWT身份认证、SSL/TLS 安全通信、常见网络攻击防范(如SQL注入、XSS、CSRF)及其防护措施。通过实战案例,帮助学习者掌握 如何使用 Go 语言保障网络通信的安全性,保护用户数据与隐私。

8

2026.01.29

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

622

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 10.1万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号