我的代码
<?php
var_dump('0xD' * 1 );
var_dump((int)'0xD');
var_dump(intval('0xD'));
var_dump((float)'0xD');
实际结果:
int(13)
int(0)
int(0)
float(0)
为什么前两个条件的结果不同?你能提供正确的文档吗?
我找到的所有内容如下: 类型转换:在PHP中,类型转换的工作方式与C语言类似:所需类型的名称写在要转换的变量之前的括号中。当在某些类型之间进行转换时,可能并不明显会发生什么。有关更多信息,请参见以下章节:... 转换为整数:从字符串: 请参阅字符串转换为数字 字符串转换为数字 当在数值上下文中计算字符串时,将确定以下结果和类型。
因此,据我理解,文档说直接转换为int和将其放入数字上下文中应该是相同的。我的错误在哪里?
添加:在回答之前,请尝试检查第一个和第二个代码(和输出)。