我找不到任何有用的解释为什么PHP的自动字符串转换是一个有用的功能?对我而言,它似乎可以导致比它解决的更多错误和问题。更不用说在需要转换时检查每个字符串所需的额外CPU周期。我想不出任何这个功能有用的例子,但也许我不够富有想象力,或者我习惯使用atoi或python内置的int()方法等方法调用。
希望这里有人有理由支持这个理由。
答案 0 :(得分:4)
PHP不是围绕“逻辑”或“设计”等概念构建的;它只是“成长”成易于使用的东西。因此,某些功能要么没有意义,要么具有“入侵”的感觉。这是其中之一。
答案 1 :(得分:2)
“串铸”是什么意思?您是在谈论数字和字符串类型如何根据它们的使用方式动态更改,而不进行显式转换?
如果您不认为强类型很重要,这是一个有用的功能。我相信这和PHP的许多功能都是原创的,以便于学习。它不是唯一一种以这种方式耍弄的语言,而且它没有任何错误。维基百科列出many languages类似的系统:Erlang,Groovy,JavaScript,Lisp,Lua,Objective-C,Perl,PHP,Prolog,Python,Ruby,Smalltalk和Tcl
CPU周期和性能是开发人员心中的最后一件事,也许一百万个基于PHP的网站实际上需要担心这些额外的周期。
你说你习惯使用atoi
; 比仅仅处理一个变量更有用,比如它的内容是数字的,让语言弄清楚其余部分?