一个简单的变量问题
<?php
$d="123.45";
$e=settype($d,float);
echo "$d <br>";
var_dump($d);
echo "<br> $e <br>";
var_dump($e);
echo "<p>";
?>
为什么输出$e是1呢?不明白了,
[解决办法]
$e 是settype执行结果,成功了是true,打印出来是1
settype($d,"float");这样比较好
[解决办法]
浮点,所以var_dump($d);打印结果难道不是float吗?执行之前可是字符串型
执行结果依然保存在$d呢
$e是settype函数执行结果,执行成功或失败,所以var_dump($e);结果是布尔型的
[解决办法]
你得看函数的返回结果,不能光凭自己想像...
这个函数回返回 TRUE 或者 FALSE 来让你知道是否执行成功,而不是返回设置后的函数类型...
[解决办法]
settype -- 设置变量的类型
描述
bool settype ( mixed var, string type )
将变量 var 的类型设置成 type。
type 的可能值为:
“boolean” (或为“bool”,从 PHP 4.2.0 起)
“integer” (或为“int”,从 PHP 4.2.0 起)
“float” (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的“double”现已停用)
“string”
“array”
“object”
“null” (从 PHP 4.2.0 起)
如果成功则返回 TRUE,失败则返回 FALSE。