PHP 条件语句不起作用


PHP Conditional Statement Not Working

我有 2 个不同的 JSON 文件,如果 2 个节点具有相同的修订号,我想打印一条消息。但是,当 2 个节点的修订版相同时,我的代码不会通过条件。我甚至包括了打印语句来验证两个修订号是否相同。这是我的代码:

foreach($xml_2->logentry as $node2):
            $revision_log = $node2[0]['revision'];
            print "revision: ";
            print $revision;
            echo "<br>";
            print "revision_log: ";
            print $revision_log;
            echo "<br>";
            if ($revision_log == $revision){
                print "Got inside of if statement";
                $msg = $node2->msg;
                print "msg: ";
                print $msg;
                echo "<br>";
            }
        endforeach; 

以下是一些输出:

revision_log: 5066
revision: 1282
revision_log: 3757
revision: 1282
revision_log: 3756
revision: 1282
revision_log: 1285
revision: 1282
revision_log: 1282
revision: 1282
revision_log: 1247
revision: 1282
revision_log: 1140

现在,在修订版 1282 中,代码应该跳到我的条件中,但它没有。有谁知道为什么?"进入if语句内部"永远不会打印。

我没有意识到$revision变量是一个字符串。我以与 $revision_log 相同的方式声明它。JSON 一定是不同的。我刚刚将$revision转换为 int 变量,现在一切正常。

foreach($xml_2->logentry as $node2):
            $revision_log = $node2[0]['revision'];                                                      
            $revision_int = (int) $revision;
            if ($revision_log == $revision_int){
                $msg = $node2->msg;
                print "Commit Message: ";
                print $msg;
                echo "<br>";
            }
endforeach;