关于 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).

DEMO

我认为类型转换语法没有任何等价物 (int)