Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP比较混乱_Php_Types - Fatal编程技术网

PHP比较混乱

PHP比较混乱,php,types,Php,Types,我收到的结果是不匹配。当与整数比较时,0103不是等于103吗?在这种情况下,我可以使用if($datemonth==103)实现预期的行为。但为什么逻辑会失败呢?前导零在整数中没有任何值,对吗?当以前导零开始数字文字时,表示数字是八进制的(以8为基数)。你可能是说它是一个十进制数(以10为基数)0103等于十进制的67。去掉前导零,代码就可以运行了。有关更多信息,请参阅PHP文档。谢谢!这绝对让我感动!哦,汤普森和里奇!你在B中发明的八进制文字伤害了我们所有人!我们将永远摆脱无意的八进制的祸害

我收到的结果是
不匹配
。当与整数比较时,0103不是等于103吗?在这种情况下,我可以使用
if($datemonth==103)
实现预期的行为。但为什么逻辑会失败呢?前导零在整数中没有任何值,对吗?

当以前导零开始数字文字时,表示数字是八进制的(以8为基数)。你可能是说它是一个十进制数(以10为基数)<八进制的code>0103等于十进制的
67
。去掉前导零,代码就可以运行了。有关更多信息,请参阅PHP文档。

谢谢!这绝对让我感动!哦,汤普森和里奇!你在B中发明的八进制文字伤害了我们所有人!我们将永远摆脱无意的八进制的祸害吗?(可能不是,不。Python终于有勇气拍下它们,但我们花了18年时间……)
// today is 03 Jan 2009
$datemonth = (int) date("md");

if($datemonth == 0103){
    echo "Match";
} else {
    echo "Not a match";
}