php - 比较PHP中的两个JSON

标签 php json

这是我的PHP代码,

<?php
$query = "SELECT items FROM `ppmp` ORDER BY date DESC LIMIT 1";
  if($result2 = $con->query($query)) {
   $row = $result2->fetch_array();
  $items2 = $row['items'];
 }
 $items = $_POST['ris4'];
 $items = json_decode($items,true);
 $items2 = json_decode($items2,true);

for($i = 0; $i < sizeOf($items["items"]);$i++){
for($i2 = 0; $i2 < sizeOf($items2["items"]); $i2++){
    $val = $items["items"][$i]["Desc"];
    $val2 = $items2["items"][$i2]["Desc"];
    print_r($val);
    print_r($val2);
    if(strcmp($val, $val2) == 0){
     echo "same";
    }
}
}
?>


我要减去产品的数量。
但是我无法检测两个描述是否相同。

我使用strcmp(),但是它不起作用。我回显了说明,并且说明相同。但是==运算符不起作用。

这是$items2 JSON的布局,

{"items":[{"Desc":" Pencil ","Qty":25},{"Desc":" Ballpen ","Qty":5},{"Desc":" Tech Pen ","Qty":20}]}


这是$items

{"items":[{"Desc":" Tech Pen ","Qty":15},{"Desc":" Ballpen ","Qty":4}]}

最佳答案

我建议您使用array_diff。这样,您可以确保它们与JSON结构中的内容完全匹配。

    $it_1 = json_decode($items, TRUE);
    $it_2 = json_decode($items2, TRUE);
    $result_array = array_diff($it_1,$it_2);


    if(empty($result_array[0])){     
        echo "they are same";
    }

关于php - 比较PHP中的两个JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34346952/

相关文章:

javascript - 在 Angular js 中嵌入来自 json 响应的 Youtube 视频 url 和 Vimeo 视频 url 时的问题

php - 使用 empty() 函数检查对象是否为 null 是否正确?

javascript - underscore.js .map 方法破坏 ie8

php - 我移动了 xampp 文件夹,因为我的 Windows 崩溃了 - 现在我想恢复我的旧项目

php - 尝试禁用 WordPress 重定向到 https

jquery - 显示 float UL,列表左侧与上面的直接文本字段对齐

javascript - 使用 AngularJS 处理 Json 数据

c++ - POCO C++ 对象到 JSON 字符串序列化

php - 如何将解释性文本放入表单的文本框中并将光标聚焦在字段上?

php - 奏鸣曲管理员 : Use multiple document classes (types)