一个简单的变量有关问题
$d="123.45";
$e=settype($d,float);
echo "$d
";
var_dump($d);
echo "
$e
";
var_dump($e);
echo "
";
?>
为什么输出$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。
相关文章
相关视频
上一篇: 刮刮卡,大转盘php抽奖概率算法
下一篇: 基于RMM的简易中文分词