dotif64826 2016-08-16 06:50
浏览 55
已采纳

将两个json文件与空值进行比较

I have two json file, and need to sync them, if changes found, below is my json file,

enter image description here

is parent(P) and another one

enter image description here

is child(C),

Here is my code :

        foreach ($localJson->PushNotification as $key => $data ) {

            foreach ($this->news as $news ) {
                if($news->pushMessageId == $data->pushMessageId){

                    if($news->Image != "" && $news->Image != $data->Image){
                        echo "new image found <br />";
                    }  
                    if($news->documentFile != "" && $news->documentFile != $data->documentFile){
                        echo "new documentFile found <br />";
                    }  
                    if($news->categoryIcon != "" && $news->categoryIcon != $data->categoryIcon){
                        echo "new categoryIcon found <br />";
                    }  
                }
            }
        }

The Problem is everytime when it loops, it doesent discard previous loops value, if current found to be empty

For Ex: 1st loop 1653 pushMessageId compares pdf and updates in child, but for next pushMessageId again it takes same pdf to compare, rather then taking empty field.

  • 写回答

1条回答 默认 最新

  • du9843 2016-08-16 09:38
    关注

    I have check your code , its look a simple logical condition and need to update current objects new value.

        foreach ($localJson->PushNotification as $key => $data ) {
    
            foreach ($this->news as $news ) {
                if($news->pushMessageId == $data->pushMessageId){
    
                    if($news->Image != "" && $news->Image != $data->Image){
                        $data->Image = $news->Image;
                    }  
                    if($news->documentFile != "" && $news->documentFile != $data->documentFile){
                        $data->documentFile = $news->documentFile;
                    }  
                    if($news->categoryIcon != "" && $news->categoryIcon != $data->categoryIcon){
                        $data->categoryIcon = $news->categoryIcon;
                    }  
                }
            }
        }
    

    I hope this solution may work for you.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办