7
在PHP中类型转换变量,这样做的实际原因是什么?
正如我们大多数人所知道的,PHP具有弱类型。对于那些不喜欢的人,PHP.net说: PHP在变量声明中不需要(或不支持)显式类型定义。变量的类型由使用该变量的上下文确定。 喜欢它还是讨厌它,PHP会即时重新发布变量。因此,以下代码有效: $var = "10"; $value = 10 + $var; var_dump($value); // int(20) PHP还允许您显式转换变量,如下所示: $var = "10"; $value = 10 + $var; $value = (string)$value; var_dump($value); // string(2) "20" 太酷了……但是,对于我自己的一生,我无法想到这样做的实际原因。 我对支持Java的语言进行强类型输入没有问题。很好,我完全理解。另外,我知道-并充分了解- 函数参数中的类型提示的用处。 上面的引用解释了我类型转换的问题。如果PHP可以随意交换类型,即使您强制转换了类型,PHP也可以这样做。当您在操作中需要某种类型时,它可以即时执行。这使得以下内容有效: $var = "10"; $value = (int)$var; $value = $value . ' TaDa!'; var_dump($value); // string(8) "10 …