问题1 : 可以用settype($variable,"double");来完成.
问题2 : 这个就好玩了:) 1.如果你不是打错的话, $a无值. 2.如果是http://localhost/?a=4&a=5, 则$a为5.
问题3 : 不知道你说的是不是"变量的变量",如果是的话,我会一点.

解决方案 »

  1.   

    补充一下,就是基于PHP是一种弱类型语言,所以它的左右两边的变量类型可以不一定相同,其后会有一个类型的转换机制.利用这个特点,我们可以随意改变下下类型,问题一的解法:HTTP_GET_VARS['variable'] = 0 + HTTP_GET_VARS['variable'];,那么你就可以试试用gettype()取得它的类型.
    提出这些问题,本人的目的就是让大家了解变量在不同时的类型,这一点在开发一个大型的工程很重要.有时,因为外部变量类型的不同,导致出现一些问题,而大家难于发现,PHP它不会自动报错,这样不是很好,如果是对C/C++,java等强类型的语言熟的话,一般我们会分析由于变量类型不同带来的问题.