PHP8中查询数组中指定元素-PHP8知识详解

php是使用最广泛的web编程语言,数组是一个数据集合,数组是一种非常常用的数据类型。在操作数组时,有时我们需要查询数组中是否有某个指定元素。在实际的程序开发中,我们用到了下列方法来查询数组中指定的元素:使用array_search()函数、使用array_column()函数、使用in_array()函数、使用array_key_exists()函数、使用isset()函数等。

Image

1、使用array_search()函数查询数组中指定元素

使用array_search()函数查询数组中指定元素,如果存在则返回键名,否则返回false。语法格式如下:

array_search(要查找的值, 数组, 是否使用全等比较);

参考代码:

<?php$s = "php";$study = array("s1"=>"html", "s2"=>"css", "s3"=>"php", "s4"=>"mysql");$key = array_search($s, $study);if ($key !== false) {echo "学习的课程已经找到,编号为:".$key;} else {echo "搜索完毕,没有找到需要的课程!";}
?>

以上代码在PHP8中运行的结果为:

学习的课程已经找到,编号为:s3

这样,如果搜索成功,将打印课程的编号,否则将打印未找到的消息。

2、使用array_column()函数来查询数组中指定元素

在PHP 8中,你可以使用array_column()函数来查询数组中指定元素。该函数从二维数组中获取指定键的所有值,并返回一个新的一维数组。

以下是使用array_column()函数查询数组中指定元素的示例代码:

<?php
$students = [['name' => '明明', 'age' => 20],['name' => '红红', 'age' => 25],['name' => '亮亮', 'age' => 30]
];// 查询所有学生的名字
$names = array_column($students, 'name');
echo "<pre>";
print_r($names);// 查询年龄大于25岁的学生的名字和年龄
$filteredStudents = array_filter($students, function ($student) {return $student['age'] > 25;
});// 提取年龄大于25岁学生的名字
$filteredNames = array_column($filteredStudents, 'name');
echo "<pre>";
print_r($filteredNames);
?>

以上代码在PHP8中的运行结果如下:

Array
([0] => 明明[1] => 红红[2] => 亮亮
)
Array
([0] => 亮亮
)

3、使用in_array()函数来查询数组中指定元素

PHP中提供了in_array()函数,其作用是在数组中搜索指定的值。如果找到了该值,则返回TRUE,否则返回FALSE。

in_array()函数的语法如下:

in_array(要查找的元素, 要查询的数组, 是否使用严格模式)

严格模式表示数据类型也要匹配,而非严格模式只匹配值。因此,在数组查询中,我们通常使用非严格模式。

例如,我们有一个数组$a,包含元素"html"、"css"、"php",现在我们要查询是否存在元素"php"。代码如下:

<?php
$a = array("html", "css", "php");if (in_array("php", $a)) {echo "存在";
} else {echo "不存在";
}
?>

以上代码在PHP8中运行的结果为:

存在

4、使用array_key_exists()函数来查询数组中指定元素

如果我们只需要查询一个数组中是否存在指定的键名,而不关心其对应的元素值,可以使用PHP中提供的array_key_exists()函数。

array_key_exists()函数的语法如下:

array_key_exists(键名, 数组)

参考代码:

<?php
$c = array("1"=>"html", "2"=>"css", "3"=>"php");if (array_key_exists("3", $c)) {echo "存在";} else {echo "不存在";
}
?>

以上代码,在PHP8中的运行结果如下:

存在

5、使用isset()函数来查询数组中指定元素

此外,在PHP中还可以使用isset()函数来查询数组中是否存在指定元素。isset()函数判断变量是否已定义且非空。

isset()函数的语法如下:

isset(数组[索引])

其中,$array表示要查询的数组,$key表示要查找的元素。

例如,我们有一个数组$d,包含元素"php"、"mysql"、"html",现在我们要查询是否存在元素"php"。代码如下:

<?php
$d = array("php", "mysql", "html");
if (isset($d[0])) {
echo "存在";
} else {
echo "不存在";
}
?>

以上代码在PHP8中的运行结果如下:

存在

到这为止,使用array_search()函数、使用array_column()函数、使用in_array()函数、使用array_key_exists()函数、使用isset()函数来查询数组中指定元素就讲解完毕了。

space

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/123842.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matplotlib 使用

import matplotlib.pyplot as plt %matplotlib inlineplt.figure()#创建一个画布 plt.plot([1, 0, 9], [4, 5, 6])#点数据&#xff0c;横坐标&#xff0c;纵坐标&#xff0c;相当于&#xff08;1&#xff0c;4&#xff09;&#xff08;0&#xff0c;5&#xff09;&#xff08;9…

全力助推徐工集团转型升级,迅镭激光智能装备展现硬核实力!

在江苏省徐州市&#xff0c;工程机械产业集群在成功入选首批国家先进制造业集群后&#xff0c;正加快向世界级先进制造业集群跃升。徐工集团作为徐州市“343”创新产业集群“一号产业”链主企业&#xff0c;正发挥着“领头雁”作用。 为了把徐州市“全球工程机械之都”名片擦得…

Python基于Mirai开发的QQ机器人保姆式教程(亲测可用)

在本教程中&#xff0c;我们将使用Python和Mirai来开发一个QQ机器人&#xff0c;本文提供了三个教学视频&#xff0c;包教包会&#xff0c;本文也很贴心贴了代码和相关文件。话不多说&#xff0c;直接开始教学。 目录 一、安装配置MIrai 图片验证码报错&#xff1a; 二、机器…

java - lua - redis 完成商品库存的删减

java调用lua脚本完成对商品库存的管理 主页链接 微风轻吟挽歌的主页 如若有帮助请帮忙点赞 //lua脚本 获取到内存不够的商品StringBuilder sb new StringBuilder();//定义一个数组存储可能缺少库存的值sb.append(" local table {} ");//获取值sb.append(" …

2023全国大学生数学建模ABCDE选题建议,思路模型,小白要怎么选?难度怎么样

首先最重要的&#xff0c;难度C<B<A&#xff0c;D、E题推荐选E题 大家可以查看我们的视频讲解&#xff0c;在这里&#xff1a;【2023全国大学生数学建模竞赛选题建议&#xff0c;难度分析&#xff0c;小白应该怎么选】 https://b23.tv/S6O26uc 选题建议视频播放​b23.t…

【Git】01-Git基础

文章目录 Git基础1. 简述1.1 版本管理演变1.2 Git的特点 2. Git安装2.1 安装文档2.1 配置user信息 3. 创建仓库3.1 场景3.2 暂存区和工作区 4. 重命名5. 常用git log版本历史5.1 查看当前分支日志5.2 简洁查看日志5.3 查看最近指定条数的日志 6. 通过图形界面工具查看版本7. 探…

《向量数据库指南》——AI原生向量数据库Milvus Cloud 2.3稳定性

在当今的互联网时代,稳定性是所有系统和应用程序的关键要素。无论是大型数据中心还是个人电脑,稳定性都是保证正常运行和用户体验的基础。在这个背景下,我们来谈谈 Milvus,一个开源的向量数据库,它在 2.1.0 版本中引入了内存多副本的概念。 Milvus 是一个开源的向量数据库…

Golang专题精进

Golang专题精进 Golang单元测试Golang错误处理Golang正则表达式Golang反射Golang验证码Golang日期时间处理库CarbonGolang发送邮件库emailGolang log日志Golang log日志框架logrusGolang加密和解密应用Golang访问权限控制框架casbinGolang使用swagger生成api接口文档Golang jwt…

抓包工具fiddler的基础知识

目录 简介 1、作用 2、使用场景 3、http报文分析 3.1、请求报文 3.2、响应报文 4、介绍fiddler界面功能 4.1、AutoResponder(自动响应器) 4.2、Composer(设计请求) 4.3、断点 4.4、弱网测试 5、app抓包 简介 fiddler是位于客户端和服务端之间的http代理 1、作用 监控浏…

Python实现猎人猎物优化算法(HPO)优化卷积神经网络分类模型(CNN分类算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei& Keynia于2022年提出的一种最新的…

stm32f4_奇怪的bug_串口数据错乱,一个串口收到另一个串口的数据

1、开发环境简介 芯片型号&#xff1a;stm32f407igt6 官方库函数&#xff1a;HAL库 2、bug现象描述和原因推测 使用了2个串口&#xff0c;一个是串口5-波特率115200&#xff0c;一个是串口4-波特率9600&#xff0c;但是串口4时不时会收到上一次发给串口5的数据。不是同一个串…

Java8特性-Lambda表达式

&#x1f4d5;概述 在Java 8中引入了Lambda表达式作为一项重要的语言特性&#xff0c;可以堪称是一种语法糖。Lambda表达式使得以函数式编程的方式解决问题变得更加简洁和便捷。 Lambda表达式的语法如下&#xff1a; (parameters) -> expression (参数) -> {代码}其中&…

算法笔记:堆

【如无特别说明&#xff0c;皆为最小二叉堆】 1 介绍 2 特性 结构性&#xff1a;符合完全二叉树的结构有序性&#xff1a;满足父节点小于子节点&#xff08;最小化堆&#xff09;或父节点大于子节点&#xff08;最大化堆&#xff09; 3 二叉堆的存储 顺序存储 二叉堆的有序…

c高级 day2

1.写一个1.sh脚本&#xff0c;将以下内容放到脚本中&#xff1a; 在家目录下创建目录文件&#xff0c;dir 在dir下创建dir1和dir2 把当前目录下的所有文件拷贝到dir1中&#xff0c; 把当前目录下的所有脚本文件拷贝到dir2中 把dir2打包并压缩为dir2.tar.xz 再把dir2.tar.…

TypeScript断言

什么是断言&#xff1f; 一个编译时语法&#xff0c;用于告诉编译器用户比编译器更加确定变量的类型&#xff0c;进而解除编译错误&#xff0c;类型断言有点类似于其他语言的类型转换&#xff0c;但它没有运行时的影响&#xff0c;只是在编译阶段起作用。所以&#xff0c;即使通…

028:vue上传解析excel文件,列表中输出内容

第028个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

机器学习笔记之最优化理论与方法(五)凸优化问题(上)

机器学习笔记之最优化理论与方法——凸优化问题[上] 引言凸优化问题的基本定义凸优化定义&#xff1a;示例 凸优化与非凸优化问题的区分局部最优解即全局最优解凸优化问题的最优性条件几种特殊凸问题的最优性条件无约束凸优化等式约束凸优化非负约束凸优化 引言 本节将介绍凸优…

windows打包uniapp应用p12证书和证书profile文件的制作方法

参考文章1&#xff1a; uniapp打包ios app所需的证书的制作流程-腾讯云开发者社区-腾讯云使用uniapp进行开发&#xff0c;既可以打包小程序&#xff0c;也可以打包app&#xff0c;假如需要打包app&#xff0c;需要p12格式的证书和一个证书profile文件&#xff0c;这个在uniapp…

php - fpm 请求达到max_children最大值后,新进入的请求工作流程

前言 偶然之间想了解下&#xff0c;php-fpm 请求达到max_children最大值后&#xff0c;新进入的请求怎么办&#xff1f;是抛出502还是等待前面的请求完成后&#xff0c;再将请求交给处理完毕的进程处理呢。 准备工作 运行环境&#xff1a;LNMP php 版本&#xff1a;php8.1 …

Elasticsearch:自动使用服务器时间设置日期字段并更新时区

在大多数情况下&#xff0c;你的数据包含一个以 create_date 命名的字段。 即使没有日期字段&#xff0c;处理各种格式和时区的日期对数据仓库来说也是一个重大挑战。 与此类似&#xff0c;如果要检测变化的数据&#xff0c;则必须准确设置日期字段。 在 Elasticsearch 中还有…