学会获取多个数组差集的三个方法(收藏)

在之前的文章《五分钟学会获取多个数组交集的三个方法(收藏)》中详细的介绍了PHP数组操作中怎样去获取多个数组交集的相关知识,本篇文章我们就来看一下数组操作中怎样完成获取多个数组的差集。希望对大家有帮助!

在之前的文章《五分钟学会获取多个数组交集的三个方法(收藏)》中详细的介绍了PHP数组操作中怎样去获取多个数组交集的相关知识,本篇文章我们就来看一下数组操作中怎样完成获取多个数组的差集。希望对大家有帮助!

学会获取多个数组差集的三个方法(收藏)

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

在上一篇文章中我们了解了想要获取多个数组间的交集我们可以通过PHP中的array_intersect函数、array_intersect_key函数和array_intersect_assoc函数分别以不同的方法来获取数组之间的交集。既然在PHP中有能够获取数组间交集的方法那同时也会有获取PHP数组间差集的方法。

获取数组间差集的方法有很多,与获取交集类似,我们也可以通过比较键值、比较键名和比较键值与键名的方法来比较数组,然后获取数组间的差集。下面我们就分别来看一下这三种方法的使用吧。

比较键值-array_diff函数

在PHP中内置了array_diff函数用来通过比较键值的方式来比较数组,然后返回数组间的差集。array_diff函数的基本语法格式如下:

array_diff(array1,array2,array3…);登录后复制

其中需要注意的是,参数array123表示的是用来比较的数组,返回的结果差集数组,该数组中的元素包括在了第一个数组元素中。返回数组是第一个数组中其他数组没有的值,在返回的数组中键名保持不变。

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

登录后复制

输出结果:

学会获取多个数组差集的三个方法(收藏)

通过上述示例我们通过array_diff函数,返回的结果正是数组1与其他数组的差集。也就是返回的结果正是数组1中有但是其他数组中没有的元素。当然了这是比较元素的键值,下面我们来看一下通过比较元素的键名,返回的结果有什么不同。

比较键名-array_diff_key函数

在PHP中可以通过array_intersect_key函数来比较数组间的键名然后返回数组间的交集,与之类似的就是array_diff_key函数能够比较键名然后返回数组间的差集。

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

array_diff_key(array1,array2,array3…);登录后复制

其中需要注意的是:参数array123表示的需要比较的数组,返回的差集数组中的元素都是数组1中的元素,但是并不在其他的数组元素中。

接下来我们通过示例来看一下array_diff_key函数的应用,示例如下:

“Apple”,”b”=>”Banana”,”c”=>”Orange”);
$fruit2 = array(“a”=>”Pear”,”d”=>”Apple”,”e”=>”Grape”);
$fruit3 = array(“a”=>”Watermelon”,”f”=>”Orange”,”g”=>”Apple”);
$intersection = array_diff_key($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>登录后复制

输出结果:

学会获取多个数组差集的三个方法(收藏)

通过上述示例我们就是通过array_diff_key函数来进行比较数组间的键名,然后返回差集,返回的结果正是数组1中有的键名但是其他的数组元素中没有的键名。这是通过比较键名,下面我们来看一下同时比较键值和键名应该怎样操作。

比较键值与键名-array_diff_assoc函数

在PHP中可以通过array_intersect_assoc函数比较键值与键名,然后返回的结果是数组元素中的交集,与之类似的就是array_diff_assoc函数它也是比较键值与键名,但是返回的结果是数组元素中的差集。

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

array_diff_assoc(array1,array2,array3…);登录后复制

其中需要注意的是:参数array123表示的需要比较的数组,通过比较键值与键名,返回的差集数组中的元素都是数组1中的元素,但是并不在其他的数组元素中。

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

“Apple”,”b”=>”Banana”,”c”=>”Orange”);
$fruit2 = array(“a”=>”Pear”,”d”=>”Apple”,”e”=>”Grape”);
$fruit3 = array(“a”=>”Watermelon”,”f”=>”Orange”,”g”=>”Apple”);
$intersection = array_diff_assoc($fruit1, $fruit2, $fruit3);
print_r($intersection);
?>登录后复制

输出结果:

学会获取多个数组差集的三个方法(收藏)

通过上述示例我们通过array_diff_assoc函数来进行比较数组间的键值与键名,然后返回差集,返回的结果正是数组1中的元素,但是并不在其他的数组中。

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

php7怎么将字符串转为数组

原创2021-11-05 18:16:061435 + php学习QQ群(点击入群)

转换方法:1、用str_split(),语法“str_split(str,length)”;2、用explode(),语法“explode(separator,str,limit)”;3、用强制转换,语法“(array)string”。

学会获取多个数组差集的三个方法(收藏)

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

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

php7将字符串转为数组

方法1:使用str_split()函数

str_split() 函数按照指定长度把字符串分割到数组中,语法格式:

str_split(string,length)登录后复制

  • string 必需。规定要分割的字符串。

  • length 可选。规定每个数组元素的长度。默认是 1。

登录后复制

学会获取多个数组差集的三个方法(收藏)

如果 length 小于 1,str_split() 函数将返回 FALSE。 如果 length 大于字符串的长度,整个字符串将作为数组的唯一元素返回。

登录后复制

学会获取多个数组差集的三个方法(收藏)

方法2:使用explode()函数

explode()函数可以将字符串按特定的分隔符分割成若干个部分。

explode() 函数可以基于字符串分隔符拆分字符串,即它将一个字符串根据分隔符拆分为若干个子串,然后将这些子串组合成数组并返回。其语法格式如下:

explode(separator,string,limit)登录后复制

参数说明如下:

  • separator:用于分割字符串的分隔字符;
  • string:需要分割的字符串;
  • limit:可选参数,可以为空,规定要返回数组元素的数目;
    • 如果 $limit 不为空且为正数,则返回的数组最多包含 $limit 个元素,最后的那个元素包含了 $string 的剩余部分;
    • 如果 $limit 不为空且为负数,则返回除了最后的 $limit 个元素外的所有元素;
    • 如果 $limit 为 0,则会被当作 1;
    • 如果 $limit 为空,则表示返回所有数组元素。

示例:

登录后复制

学会获取多个数组差集的三个方法(收藏)

方法3:强制转换—在变量之前加上用括号括起来的目标类型的方式强制转换变量类型(array)

登录后复制

学会获取多个数组差集的三个方法(收藏)

以上就是php7怎么将字符串转为数组的详细内容,更多请关注钦钦技术栈其它相关文章!

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

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

(0)
上一篇 2022年 9月 28日 8:23:12
下一篇 2022年 9月 28日 8:39:23

软件定制开发公司

相关阅读

发表回复

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