欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

大牛们美,php新手问几个面试题

程序员文章站 2022-05-09 19:30:02
...
大牛们好,php新手问几个面试题
PHP code

1.
$a = 3;
$b = 2;
echo (int)$a/(int)$b

为什么输出是 1.5?


2.
How can you hide the fact that web pages are written in PHP?
a. By using AddType application/X-httpd-php asp
b. Specify all file names without any dot and extension
c. By using .htaccess diretive in Apeche
d. All of the above

3.
解释一下Using Register Globals。







------解决方案--------------------
1. 因为1)/是除法操作符,不是整除操作符 2)(int)操作符优先级高于/
所以 (int)$a/(int)$b = 3 / 2 = 1.5

2. 我选择d

3. Using Register Globals的场合,提交的变量可以直接通过 $变量名 使用。
但是存在安全问题,建议不要用Register Globals.
------解决方案--------------------
(int)作用于变量,而非整个表达式
(int)($a/$b);如此结果是1


2 事实上这些措施还不够,最好能重编译apache,改写web服务器输出头,隐藏开发语言是php的信息

3 是已经非常不推荐的功能了
------解决方案--------------------
楼上二位
在 C 里 (int)a/(int)b 可是等于 1 的噢
这道题就源于这里
考点是数据类型的自动变换,两个整型数相除结果为什么是浮点数
------解决方案--------------------
探讨
楼上二位
在 C 里 (int)a/(int)b 可是等于 1 的噢
这道题就源于这里
考点是数据类型的自动变换,两个整型数相除结果为什么是浮点数

------解决方案--------------------
探讨

2 事实上这些措施还不够,最好能重编译apache,改写web服务器输出头,隐藏开发语言是php的信息


------解决方案--------------------
好像说到没啥意义的地方去了。或者说根本没必要这么去做


数据类型
根源还是在于php转换数据类型太容易了,hoho

强类型的语言,一般都会以a、b当中,精度更高的作为结果返回
大牛们美,php新手问几个面试题

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频