Dwa*_*ton 5 php casting type-conversion
在PHP中,您可以将某些内容类型化为类似对象; (对象)或者你可以使用settype($ var,"object") - 但我的问题是两者之间有什么区别?
哪一个更有效/更好用?目前我发现使用(对象)完成工作,但想知道为什么还有一个settype函数.
Kri*_*ard 20
转换会更改当前上下文中处理变量的内容,settype会永久更改它.
$value = "100"; //Value is a string
echo 5 + (int)$value; //Value is treated like an integer for this line
settype($value,'int'); //Value is now an integer
Run Code Online (Sandbox Code Playgroud)
基本上settype是一个快捷方式:
$value = (type)$value;
Run Code Online (Sandbox Code Playgroud)
settype() 改变它传递的实际变量,括号内的变量没有.
如果使用settypeon $var将其更改为整数,它将永久丢失小数部分:
$var = 1.2;
settype($var, "integer");
echo $var; // prints 1, because $var is now an integer, not a float
Run Code Online (Sandbox Code Playgroud)
如果您只是进行强制转换,原始变量将保持不变.
$var = 1.2;
$var2 = (integer) $var;
echo $var; // prints 1.2, because $var didn't change type and is still a float
echo $var2; // prints 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4129 次 |
| 最近记录: |