array_diff、array_diff_key、array_diff_ukey、array_diff_assoc、array_diff_uassoc 的用法
<?php // array_diff* 系列的函数都返回关联数组
// array_diff* 系列函数返回数组的差集(返回在第一个参数中, 但不在其他参数中的元素) $array1 = [
'a' => 1,
'b' => 2,
'e' => 3,
];
$array2 = [
'a' => 1,
'b' => 3,
'c' => 5,
]; // 只比较值
// 只返回在第一个参数中而不在其他参数中出现的值
echo "array_diff(\$array1, \$array2): \n";
var_dump(array_diff($array1, $array2)); // 只比较键
// 只返回在第一个参数中而不在其他参数中出现的键
echo "array_diff_key(\$array1, \$array2): \n";
var_dump(array_diff_key($array1, $array2)); // 返回键值都不一样的元素
echo "array_diff_assoc(\$array1, \$array2): \n";
var_dump(array_diff_assoc($array1, $array2)); function compare($key1, $key2) {
if ($key1 == $key2) {
return 0;
}
return ($key1 > $key2) ? 1 : -1;
} // array_diff_uassoc 同时比较键值, 返回键值都不一样的元素(出现在第一个数组, 没有出现在其他数组的元素)
// 使用自定义回调函数进行 键比较, 值的比较使用 array_diff
echo "array_diff_uasssoc(\$array1, \$array2): \n";
var_dump(array_diff_uassoc($array1, $array2, 'compare')); // array_diff_ukey 和 array_diff_uassoc 作用相似
// 只是 array_diff_ukey 只比较键, 也是使用自定义函数
echo "array_diff_ukey(\$array1, \$array2): \n";
var_dump(array_diff_ukey($array1, $array2, 'compare'));
输出:
array_diff($array1, $array2):
array(1) {
["b"]=>
int(2)
}
array_diff_key($array1, $array2):
array(1) {
["e"]=>
int(3)
}
array_diff_assoc($array1, $array2):
array(2) {
["b"]=>
int(2)
["e"]=>
int(3)
}
array_diff_uasssoc($array1, $array2):
array(2) {
["b"]=>
int(2)
["e"]=>
int(3)
}
array_diff_ukey($array1, $array2):
array(1) {
["e"]=>
int(3)
}
array_diff、array_diff_key、array_diff_ukey、array_diff_assoc、array_diff_uassoc 的用法的更多相关文章
- php中的常用数组函数(一)(比较多个数组的差集的函数们 array_diff_assoc() array_diff() array_diff_key() array_diff_ukey() array_diff_uassoc())
array_diff_assoc($arr1, $arr2, $arr3,... n); 返回:一个$arr1的副本,后续的数组中出现一个键值相同的元素,就在副本中删掉这个元素,最后返回这个副本. 如 ...
- 004——数组(四)array_search() array_change_key_case() array_chunk() array_combine() array_diff() array_diff_key() array_diff_assoc
<?php /** * in_array() 判断一个内容是否在数组中: */ /*$arr=array(1,2,3,4,5); if (in_array('1',$arr,TRUE)){ // ...
- php 数组函数学习
1.array_change_key_case array_change_key_case(array,case)函数将数组的所有的键都转换为大写字母或小写字母.array表示目标数组,case表示转 ...
- php网摘收藏
1.thinkphp3.2.3开发手册: http://document.thinkphp.cn/manual_3_2.html 2.ThinkPHP3.2.3的函数汇总:http://www.thi ...
- PHP基础知识总结(二) 数据类型、数组、变量和运算符
一.PHP是服务器端的脚本语言.在服务器端解析完成后,向前端浏览器发送html. PHP文件的部署位置在:xampp\htdocs文件夹下,当然这个位置可以修改.二.PHP基本语法 1.文件后缀名是p ...
- 关于php的array_diff和array_diff_assoc的使用总结
关于php的array_diff和array_diff_assoc的使用总结 2015-11-07 17:01 184人阅读 评论(0) 收藏 举报 分类: php学习感想(1) 版权声明:本文为 ...
- 005——数组(五)array_diff_ukey()array_diff_uassoc()array_intersect()array_intersect_assoc()array_intersect_key()array_intersect_ukey()array_intersect_uassoc()
<?php function dump($arr) { print_r($arr); } /**array_diff_ukey() 通过回调函数的方式,返回一个数组在其他数组中不存在键名的值 * ...
- 【微信开发】玩转PHP 数组用法!
数组的起始下标可以不从0开始,例子为从2开始. $data = array(2=>'A','B','C'); 运行结果:$data = array(2=>'A',3=>'B' ...
- PHP:第四章——PHP数组array_diff计算数组差集
<pre> <?php header("Content-Type:text/html;charset=utf-8"); /*知识点一:array_diff — 计 ...
随机推荐
- 《图解 HTTP 》阅读 —— 第四章
第4章 返回结果的HTTP状态码 1XX 接收的请求正在处理 2XX 请求被处理 200 请求成功 204 请求成功,但是没有返回数据 206 客户端进行了范围请求 3XX 重定向 301 永久性重定 ...
- JQuery 异步提交数据
类别添加 名称:   正在发送数据请求… <% dim strValue blnLogin = false; strValue = request.Form("t ...
- Mac安装jee开发环境,webservice环境搭建
一.下载安装包 jdk(去官网下载) eclipse (去官网下载) tomcat(官网有9.0了)http://tomcat.apache.org/download-80.cgi#8.0.32 下载 ...
- Nodejs学习笔记(二)--- 操作MongoDB数据库
最近看了一些关于mongodb的文章,然后就想知道nodeJS是怎么连接的所以我就尝试去了解了一波(这个菜鸟驿站这个网站还不错,虽然知识文档不是最新的,但是还是蛮好的: 顺便官网地址是这个哦:http ...
- 第四章 深入JSP技术
JSP简介 JSP工作原理 JSP是一种servlet,但先部署后编译. JSP生命周期 运行时只会有一个实例,同servlet. JSP语法 JSP元素和模板数据 模板数据就是JSP中的HTML代码 ...
- 1029对c语言文法的理解
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...
- psp 第二周
11号 12号 类别c 内容c 开始时间s 结 ...
- Snapseed玩出新高度,分分钟让你成p图大神! 转
(,,・∀・)ノ゛嗨呀 小阔爱们! 不知道大家记不记得~ 上周我们的副条发了一篇: <看过他的照片,我才知道什么是创意摄影> 德国仅22岁超现实主义艺术家Justin Peters 创造了 ...
- jumpserver的安装部署
废话不说直接安装 1:安装数据库 这里是提前安装,也可以不安装,在安装jumpserver主程序的时候,他会询问你是否安装 yum -y install ncurses-devel cmake ech ...
- [BinaryTree] 二叉树常考知识点
1.二叉树第i层至多有2^(i-1)个结点(i>=1). 2.深度为k的二叉树上,至多含2^k-1个结点(k>=1) 3.n0 = n2 + 1(度) 4.满二叉树:深度为k且含有2^k- ...