在 PHP 中使用 settype 而不是使用括号进行类型转换,有什么区别?

Using settype in PHP instead of typecasting using brackets, What is the difference?(在 PHP 中使用 settype 而不是使用括号进行类型转换,有什么区别?)
本文介绍了在 PHP 中使用 settype 而不是使用括号进行类型转换,有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 PHP 中,您可以将某些东西类型转换为这样的对象;(object) 或者您可以使用 settype($var, "object") - 但我的问题是两者之间有什么区别?

In PHP you can typecast something as an object like this; (object) or you can use settype($var, "object") - but my question is what is the difference between the two?

哪一个更有效/更好用?目前我发现 using (object) 可以完成这项工作,但想知道为什么还有一个 settype 函数.

Which one is more efficient / better to use? At the moment I find using (object) does the job, but wondering why there is a settype function as well.

推荐答案

强制转换改变了变量在当前上下文中被视为什么,settype 永久改变它.

Casting changes what the variable is being treated as in the current context, settype changes it permanently.

$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

基本上 settype 是一个快捷方式:

Basically settype is a shortcut for:

$value = (type)$value;

这篇关于在 PHP 中使用 settype 而不是使用括号进行类型转换,有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)