关于 PHP 将字符串转换为整数的奇怪问题
strange question about PHP convert string to int
我正在尝试将字符串转换为整数,但 return 0 或错误的数字。
下面是我测试过的代码。
有人知道为什么吗?
谢谢
<?php
echo gettype(0x55)."\n"; //type is integer
echo 0x55."\n"; //this is correct
echo (int)"0x55"."\n"; //why 0?
echo intval("0x55"); //why 0?
return
integer
85
0
0
默认情况下,intval()
解析基数 10,因此它会忽略 0x
前缀。
如果您将基数指定为0
,它将根据字符串前缀动态确定基数:0x
表示十六进制,0
表示八进制。
所以使用intval("0x55", 0)
.
我认为类型转换语法没有任何等价物 (int)
。
我正在尝试将字符串转换为整数,但 return 0 或错误的数字。 下面是我测试过的代码。 有人知道为什么吗? 谢谢
<?php
echo gettype(0x55)."\n"; //type is integer
echo 0x55."\n"; //this is correct
echo (int)"0x55"."\n"; //why 0?
echo intval("0x55"); //why 0?
return
integer 85 0 0
默认情况下,intval()
解析基数 10,因此它会忽略 0x
前缀。
如果您将基数指定为0
,它将根据字符串前缀动态确定基数:0x
表示十六进制,0
表示八进制。
所以使用intval("0x55", 0)
.
我认为类型转换语法没有任何等价物 (int)
。