下面是我在 PHP 代码块中使用的关联数组,该数组使用 SQL 数据库中的数据创建一个有组织的性能日期和信息表。该代码似乎没有问题(对我来说),但在加载网页时行为不正确(某些日期没有出现)。
$months = array(
01 => 'January',
02 => 'February',
03 => 'March',
04 => 'April',
05 => 'May',
06 => 'June',
07 => 'July',
08 => 'August',
09 => 'September',
10 => 'October',
11 => 'November',
12 => 'December',
);
当我运行“var_dump”时,输出如下:
array(11) {
[1]=> string(7) "January"
[2]=> string(8) "February"
[3]=> string(5) "March"
[4]=> string(5) "April"
[5]=> string(3) "May"
[6]=> string(4) "June"
[7]=> string(4) "July"
[0]=> string(9) "September"
[10]=> string(7) "October"
[11]=> string(8) "November"
[12]=> string(8) "December" }
“August”的整行缺失,“September”的键现在是 [0]。
有人可以解释一下我的代码中的错误在哪里吗?
免责声明:我已经通过删除前九个键中的前导零解决了这个问题,但我很困惑为什么它很重要?预先感谢您的任何解释。
最佳答案
08 和 09 是无效的八进制文字...所以您需要做的是:
- 将您的键命名为正确的整数(不带 0 前缀)
- 或者,使用您的键作为字符串,就像您提到的“关联数组”一样,您的数组应该如下所示:
<?php $months = array( "01" => 'January', "02" => 'February', "03" => 'March', "04" => 'April', "05" => 'May', "06" => 'June', "07" => 'July', "08" => 'August', "09" => 'September', "10" => 'October', "11" => 'November', "12" => 'December', );
抱歉想发表评论,但无法发表评论,这里是新用户
关于PHP 关联数组意外行为 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50301832/