使用 array_diff 比较两个数组

2024-03-03

我有以下代码,并尝试将两个数组与 array_diff 进行比较,但我一直没有得到任何结果。我不确定这是否重要,但数组中有很多字段,我真的只想比较 1 个字段......这可能吗?我缺少什么?

<?php
$json = file_get_contents("http://ebird.org/ws1.1/data/obs/region/recent?rtype=subnational1&r=US-AZ&back=7&fmt=json");
$json2 = file_get_contents("http://ebird.org/ws1.1/data/obs/region/recent?rtype=subnational1&r=US-NV&back=7&fmt=json");

$array1 = json_decode($json, TRUE);
$array2 = json_decode($json2, TRUE);

if ( $array1 == $array2 ) {
echo 'There are no differences';
}else 
var_dump(array_diff($array2, $array1));
echo 'they are different';

?>

您需要相互检查数组:

$Array_1 = array (1,2,3,4,5);
$Array_2 = array(1,2,3,4,5,6);

print_r(array_diff($Array_1,$Array_2));

将输出:

Array
(
)

然而:

 print_r(array_diff($Array_2,$Array_1));

将输出:

Array
(
    [5] => 6
)

所以这可能是一个解决方案:

function ArrayDiff ($Array_1, $Array_2){
    $Compare_1_To_2 = array_diff($Array_1,$Array_2);
    $Compare_2_To_1 = array_diff($Array_2,$Array_1);
    $Difference_Array = array_merge($Compare_1_To_2,$Compare_2_To_1);
    return $Difference_Array;

}

print_r(ArrayDiff($Array_1,$Array_2));

这将输出:

Array
(
    [0] => 6
)

将其放入 if 语句中:

$Differences = ArrayDiff($Array_2,$Array_1);
if (count($Differences) > 0){
    echo 'There Are Differences Between The Array:';
    foreach ($Differences AS $Different){
        echo "<br>".$Different;
    }

所有示例和代码都基于开头的数组($Array_1 和 $Array_2)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 array_diff 比较两个数组 的相关文章

随机推荐

  • .cpp 文件和 .h 文件有什么区别?

    因为我已经做了 cpp文件 然后将它们传输到 h文件 我能找到的唯一区别是你不能 include cpp文件 我缺少什么区别吗 C 构建系统 编译器 不知道有什么区别 所以这都是约定之一 约定是 h文件是声明 并且 cpp文件是定义 这就是
  • 数据原子查询性能改进

    我在 Datomic 数据库中有一个与此类似的架构 tenant db id db id db part db db ident tenant guid db unique db unique identity db valueType d
  • Bootstrap 折叠力 全部展开

    我有很多不同的部分 它们有自己的折叠元素 我已经实现了 jquery 来展开和折叠它们 jQuery collapse each function index this collapse toggle HTML 片段 ul class na
  • 使用 phantomjs/casperjs 测试 DOM 元素

    我有一个基于 AJAX 的 javascript 应用程序 我想对其进行接口测试 例如 我想编写一个测试来加载我的网站 从给定的 URL 并检查是否存在一些 DOM 元素 给定的 id 和给定的类 问题是当我在浏览器中输入 URL 时 我的
  • JFreeChart 在 Y 轴上将整数值显示为浮点数

    我在用着JFreeChart创建时间序列图表 但当我将整数值作为 Y 轴传递时 它会将它们显示为浮点数 问题是什么 我正在创建这样的图表 this TodaySeriesGoldPrice new TimeSeries Price Minu
  • 无法拉取 b/c“您有未暂存的更改”,但状态显示没有更改

    我正在与一位开发人员合作 他遇到了一个我以前从未遇到过的奇怪问题 他正在开发一个存储库 需要先从其他人那里获取最新的更改 然后才能推送 他所有的改变都被承诺了 git pull Cannot pull with rebase You hav
  • 从 Fiddler 嗅探 Android 应用程序的 HTTPS 流量失败,Fiddler 中仅显示“隧道到”条目

    我正在尝试从已 root 的 Android 设备 4 4 4 捕获 HTTPS 流量 以分析应用程序的未记录协议 我已将 Fiddler 设置为代理并启用了 HTTPS 嗅探 我已在我的设备上安装了 Fiddler 生成的根证书 我已在
  • Outlook Mapi 访问共享联系人

    我想通过 Mapi 从 Outlook 导入联系人 第一步使用标准接触是没有问题的 MAPIFolder contactObjects outlookObj Session GetDefaultFolder OlDefaultFolders
  • :首次安装或使用软件包时运行代码

    我正忙着为一位对 R 知之甚少的客户编写一个包 考虑到他们的复杂数据结构 我需要在 R 中建立一个 数据库 其中包含从他们从另一家公司获得的一组电子表格中获得的大量信息 由于他们无法在计算机上安装 SQL 等 ICT 有一些电源控制问题 我
  • ffmpeg、libav 和 avconv 之间有什么区别和相似之处?

    当我跑步时ffmpeg在 Ubuntu 上 它显示 ffmpeg ffmpeg version v0 8 Copyright c 2000 2011 the Libav developers built on Feb 28 2012 13
  • 如何使 Windows 10 枢轴/选项卡标题全宽屏幕

    如何使枢轴 选项卡标题使每个单独的选项卡具有相同的宽度并拉伸枢轴标题的整个宽度而不延伸出屏幕 特别是对于移动设备 我还没有找到如何做到这一点的例子 这就是我想要实现的目标 如何使枢轴 选项卡标题使每个单独的选项卡具有相同的宽度并拉伸整个宽度
  • 用于将结构类型映射到枚举的 C++ 模板?

    我有类似的东西 struct A struct B struct C class MyEnum public enum Value a b c template
  • 如何通过环境变量设置 Java 的最小和最大堆大小?

    如何通过环境变量设置 Java 的最小和最大堆大小 我知道可以在启动java时设置堆大小 但我想通过我的服务器上的环境变量来调整它 您不能直接使用环境变量来做到这一点 您需要使用传递给 java 命令的一组 非标准 选项 运行 java X
  • 如何在没有扩展程序的情况下在 Chrome 中测量像素?

    由于工作中的安全限制 我不被允许安装 Chrome 扩展程序 Chrome 在开发者工具中内置了一个标尺 但我不知道如何像标尺允许的那样定义起点和终点 是否有无需安装 Chrome 扩展程序即可测量像素的工具或技术 您可以创建自己的标尺功能
  • 如何设置仅显示月份和年份的日期选择器的日期

    我正在尝试显示一个仅显示月份 年份菜单的日期选择器 就像这个 Q 中那样jquery 日期选择器仅显示月份年份 https stackoverflow com questions 2208480 jquery date picker to
  • 来自多个数据库的 Hibernate 实体

    我们的数据模型分为两个数据库上的模式 除了一些在两者之间桥接的单键关系之外 这些模式是单独使用的 没有跨两个数据库的写入事务 类似这个问题使用 Hibernate 连接不同数据库中的 2 个表 https stackoverflow com
  • 为什么覆盖会改变列名

    我使用的是 rev 监听器的默认实现 正如预期的那样 我的 REVINFO 表中的列是 revtstmp 和 rev 然而 当我覆盖默认值时 我所做的只是 MyRevisionEntity extends DefaultRevisionEn
  • 是否有在多个事件侦听器上执行逻辑的设计模式

    我有在多个不同事件的步骤上执行的逻辑 例如 在 mousedown 上完成一些逻辑 这会更改 mousemove 使用的某些共享状态 这也会更改最终 mouseup 使用的某些共享状态 例如它可能看起来像这样 function handle
  • 检测用户何时将数据输入 edittext 立即显示答案[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何检测一个字符是否被输入到 Edi
  • 使用 array_diff 比较两个数组

    我有以下代码 并尝试将两个数组与 array diff 进行比较 但我一直没有得到任何结果 我不确定这是否重要 但数组中有很多字段 我真的只想比较 1 个字段 这可能吗 我缺少什么