【问题标题】:Loading numbers into a PHP array - unexpected problems将数字加载到 PHP 数组中 - 意外问题
【发布时间】:2011-02-09 06:34:30
【问题描述】:

我正在尝试定义一个这样的数字数组:

$days_pages = array(
'monday' => array(001, 002, 003, 004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 017, 018, 019, 020),
...
);

但是,当我这样做时:

print_r($days_pages);

它显示

Array
(
    [monday] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
            [3] => 4
            [4] => 5
            [5] => 6
            [6] => 7
            [7] => 0   **************
            [8] => 0   **************
            [9] => 8
            [10] => 9
            [11] => 10
            [12] => 11
            [13] => 12
            [14] => 13
            [15] => 14
            [16] => 15
            [17] => 1    **************
            [18] => 1    **************
            [19] => 16
            [20] => 17

我不明白为什么会发生这种情况 - 我做错了什么?

【问题讨论】:

  • 你的意思是在那里使用八进制吗?

标签: php arrays numbers


【解决方案1】:

如果在八进制整数中给出了无效数字(即 8 或 9),则忽略该数字的其余部分

like

<?php
var_dump(01090); // 010 octal = 8 decimal
?>

所以

008, 009

它无效并且是0

还可以查看以前关于八进制数的帖子(几分钟前)

related to php arithmetic

【讨论】:

  • 该死的 - 这是一个很好的观察!所以我不能按原样使用这些数字......!
  • 你能用省略前导零的数字制作一个数组
  • 是的 - 正是这样做的...... @jacob - 不,我不是故意的,只是从其他地方复制了一些内容......(不假思索!)
【解决方案2】:

在 php 整数变量中采用八进制表示你会遇到这个问题。

先显示这个链接,你就明白了。

http://www.ascii.cl/conversion.htm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 2014-01-02
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    • 2016-02-12
    相关资源
    最近更新 更多