给一个变量赋值为0123,但是输出该变量的值总是为其他数字,请问这是什么问题?

阅 98

问题

给一个变量赋值为0123,但是输出该变量的值总是为其他数字,请问这是什么问题?

答案

以0开始的数字代表八进制的整数。

PHP整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +)。

要使用八进制表达,数字前必须加上 0(零)。要使用十六进制表达,数字前必须加上 0x。要使用二进制表达,数字前必须加上 0b

二进制表达的 integer 自 PHP 5.4.0 起可用。

<?php
$a = 1234; // 十进制数
$a = -123; // 负数
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26)
$a = 0b11111111; // 二进制数字 (等于十进制 255)

参考阅读

PHP Integer 整型:https://www.php.net/manual/zh/language.types.integer.php

本题链接:https://www.php7.com.cn/question/19.html
Markdown版本:https://www.php7.com.cn/question/19.md

最后更新: