我在PHP中面临一个意想不到的问题。当我尝试回显一个数字时,它会在浏览器上打印一个不同的数字:
var calendarData = [{ "title": "General Meeting", "start": "3/23/2017, 10:00:00 AM", "end": "3/23/2017, 11:00:00 AM" }, { "title": "Client Meeting", "start": "3/23/2017, 12:00:00 PM", "end": "3/23/2017, 1:00:00 PM" }];
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultDate: '2017-03-23',
navLinks: true, // can click day/week names to navigate views
editable: true,
eventLimit: true, // allow "more" link when too many events
eventSources: [{
events: calendarData
}]
});
它将打印<?php
echo 04240;
?>
,这真的很令人惊讶。
这里发生了什么?
答案 0 :(得分:4)
当您使用以零(0)开头的数字时,它将被视为八进制而不是十进制值。请参阅文档http://php.net/manual/en/language.types.integer.php
中的更多信息答案 1 :(得分:1)
因为初始字符串首先有0
,所以PHP将此数字视为八进制。
当您将04240
从八进制转换为十进制时,如下所示:
0 + 4*8 + 2*8*8 + 4*8*8*8
您将获得2208
十进制数。