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

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

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

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

php入门到就业线上直播课:进入学习API 文档、设计、调试、自动化测试一体化协作工具:点击使用

在之前的文章中我们了解了可以通过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数组操作之匹配搜索数组中的元素和键名

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

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

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

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

array_search(value,array,strict)登录后复制

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

如果在数组中搜索到了对应的键值,返回的结果就是这个键值对应的键名;如果没有匹配到的话,返回的结果就是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);
?>登录后复制

输出结果:

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

其中需要注意的是,当参数设置为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 “键名不存在”;
}
?>登录后复制

输出结果:

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

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

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

php怎么获取两个数组的不同的值

原创2021-11-03 19:30:41940 + php学习QQ群(点击入群)

php获取两个数组不同值的方法:1、创建一个PHP示例文件;2、定义两个不同的数组;3、通过“array_merge(array_diff($a,$b),array_diff($b,$a));”方法获取不同值即可。

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

php入门到就业线上直播课:进入学习API 文档、设计、调试、自动化测试一体化协作工具:点击使用

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php怎么获取两个数组的不同的值?

php 获取两个数组之间不同的值

代码如下:

$a = [1,2,3];
$b = [2,3,7,1,5];
$arr3 = array_merge(array_diff($a,$b),array_diff($b,$a));登录后复制

array_merge() 函数把一个或多个数组合并为一个数组。

array_diff() 函数用于比较两个(或更多个)数组的值,并返回差集。

以上就是php怎么获取两个数组的不同的值的详细内容,更多请关注钦钦技术栈其它相关文章!

转载至:php中文网【www.php.cn】

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/26956/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022-09-28 8:40:37
下一篇 2022-09-28 8:41:56

软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!