<?php
$data="98.8degrees";
(double)$data;
(int)$data;
(string)$data;
echo $data;
?>
当实际输出为 98.8 度时,我感到惊讶/困惑
我想当 $data 使用 (double) 时,它会转换为 98.8。然后当移动到 (int) 时,它变成了 98 来回但我想我的类比是错误的。有人可以向我解释一下输出是如何变成这样的吗?
<?php
$data="98.8degrees";
(double)$data;
(int)$data;
(string)$data;
echo $data;
?>
当实际输出为 98.8 度时,我感到惊讶/困惑
我想当 $data 使用 (double) 时,它会转换为 98.8。然后当移动到 (int) 时,它变成了 98 来回但我想我的类比是错误的。有人可以向我解释一下输出是如何变成这样的吗?
正在做
(double)$data;
(int)$data;
(string)$data;
只返回double
,int
和string
值,但它们不会改变。要更改它们,您需要将返回值分配给实际变量,如下所示:
$data = (double)$data;
$data = (int)$data;
$data = (string)$data;
你继续施放它,但转身丢弃结果。中的值$data
永远不会改变。试试这个settype()
功能。
你可能打算做的是:
<?php
$data="98.8degrees";
$data=(double)$data;
$data=(int)$data;
echo $data;
?>
如果你不保留你的操作结果,你将看不到你的操作结果......
哦 - 我不知道你希望通过
(string)$string;
声明,因为不清楚您是否/如何定义$string
...