当我看到这个演员结果时,我最近有点意外。
echo (float)12,3;
echo "\n";
echo (float)"12,3";
第一个会给我们123
和第二个12
。
有什么区别?
答案 0 :(得分:5)
简单
表示您要以逗号分隔的参数列表发送两个值以进行回显。回复在一起的echo (float)12,3;
和12
看起来像3
。你可以在一次调用中回复数百个事情,PHP并不介意。
123
您正在发送字符串 echo (float)"12,3";
以在 投射到"12,3"
后回显 。当它转换为浮动时,它变为12,你看到它被打印出来。
答案 1 :(得分:2)
区别在于PHP将12,3
视为12
和3
。 PHP只是删除非数字字符。
var_dump(12,3);
int(12)
int(3)
"12,3"
是一个字符串,PHP会抛出第一个非数字字符后的所有内容。
echo (int)"12b3"; // also outputs 12
答案 2 :(得分:1)
在php中,,
也是一个连接运算符,因此12,3
被解释为123
。
但是,
"12,3"
是一个字符串,,
被视为字符,因此将字符串转换为float会导致12