整数值在PHP中转换为意外的数字

时间:2017-03-24 05:18:45

标签: php

我在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; ?> ,这真的很令人惊讶。

这里发生了什么?

2 个答案:

答案 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十进制数。