我声明了一个数组项目" 0859",但是当我显示数组项目时,它仅显示0,而不是整数" 0859"。
在常数中定义我将值设置为" 01238",结果与我的数组相同,它仅显示值0,而不是整数01238。我想进一步了解数组item andray item的原因从其中的0开始,值仅显示0,而不显示整个数字
array
<?php
$num = [0859];
echo $num;
output: 0
Why not the the output is "0859"
?>
常数定义
<?php
define(myNum, 01238);
echo myNum;
output: 0
Why not the the output is "01238"
?>
我正在使用Wamp PHP版本5.5.12
请启发我为什么我只能获得输出0而不是整数
如果您正在运行PHP7,则可能应该查看此答案。
如链接的答案中所述:
这来自对整数,尤其是八个的变化 在php7中处理(与PHP5相反(。
无效的八达字母
以前,包含无效数字的八重文字是 默默截断(0128被视为012(。现在,一个无效的八进制 文字将导致解析错误。
将它们用作字符串或实际整数
$ a =阵列(1,8,9,12(;//整数
$ a = array(" 00001"," 00008", " 00009"," 00012"(;//字符串
您可以在此处找到有关整数/八分音的更多信息:http://php.net/manual/en/language.types.integer.php
Qirel和他的回答充分信用-https://stackoverflow.com/a/40736053/2288334
这很可能是由于PHP如何处理过去默默地解析的内容现在不是造成的。基本上,PHP7认为您试图将八分之一作为数组的唯一值,但无效。
供参考:http://php.net/manual/en/migration70.incompatible.php#migration70.compatible.integers.integers.invalid-octalshttp://php.net/manual/en/language.types.integer.php