这是我的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/