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

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

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

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

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

参考代码:

复制代码
<?php
    $s = "php";
    $study = array("s1"=>"https://www.phpfw.com/tag/html/", "s2"=>"css", "s3"=>"php", "s4"=>"https://www.phpfw.com/tag/mysql/");
    
    $key = array_search($s, $study);
    
    if ($key !== false) {
        echo "学习的课程已经找到,编号为:".$key;
    } https://www.phpfw.com/tag/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

相关推荐
峥嵘life9 小时前
Android16 311Y3 EAP-TLS 网络连接失败分析与修复总结
android·开发语言·人工智能·php
AC赳赳老秦13 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
AC赳赳老秦15 小时前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
发量惊人的中年网工19 小时前
中小企业网络管理进阶:从设备堆叠到统一管理
服务器·网络·安全·网络安全·php·制造
北漂燕郊杨哥1 天前
phpStudy 手工安装最新稳定版 PHP 8.5.9(NTS)方法(Windows 本地开发)
windows·php·phpstudy
qetfw1 天前
Debian 部署 Discuz! 论坛:Nginx、PHP 与 MariaDB 配置
linux·运维·nginx·debian·php·discuz
北漂燕郊杨哥1 天前
Win11 环境下 phpStudy 安装 Redis 最新版,并为 PHP 8.5.9(NTS)配置 redis 扩展
数据库·redis·php
那年窗外下的雪.2 天前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
COOLMO研究AI2 天前
Python 如何在 AI 接口中实现请求幂等性:防止重复提交与重复扣费
人工智能·python·php
西安景驰电子2 天前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php