首页 > 开发 > PHP > 正文

php牛逼的面试题分享

2024-05-04 22:27:42
字体:
来源:转载
供稿:网友
1.nginx使用哪种网络协议?
nginx是应用层 我觉得从下往上的话 传输层用的是tcp/ip 应用层用的是http
fastcgi负责调度进程


2. <? echo 'hello tusheng' ; ?> 没有输出结果, 可能是什么原因, 简述的解决此问题的过程(提示: 语法没有问题)


可能服务器上面没有开启短标签short_open_tag =设置为Off,,php.ini开启短标签控制参数: short_open_tag = On


3. 简述下面程序的输出结果, 简要说明为什么, 如何解决这类问题?
<?php
$tmp = 0 == "a"? 1: 2;
echo $tmp;
?>


结果 1 int和string类型强制转换造成的,0==="a"


0 == 0 肯定是true啊
PHP是弱类型。。
$tmp = 0 === "a"? 1: 2;
echo $tmp; 这样就是2




4. 已知一个字符串如下: $str = "1109063 milo 1";
用一行代码将该字符串里面的1109063赋值给$uid, milo赋值给$user, 1赋值给$type


空格如下
list($uid, $user, $type) = explode(" ", $str);
/t如下
list($uid, $user, $type) = explode("/t", $str);


list($uid, $user, $type) = sscanf($str, "%d %s %d");


$n = sscanf($auth, "%d/t%s %s", $id, $first, $last);


5. 分别列出如下类型的有符号和无符号范围 TINYINT SMALLINT MEDIUMINT INT


TINYINT-2^7 - 2^7-10 ~ 2^8-1
SMALLINT-2^15 - 2^15-1 0 ~ 2^16-1
MEDIUMINT-2^23 - 2^23-1 0 ~ 2^24-1
INT-2^31 - 2^31-1 0 ~ 2^32-1


6. 将下面的数组用一行拼装成一个字符串i am milo! day day up!
<?php
$arr = array(
'I', 'AM', 'MILO!', 'DAY', 'DAY', 'UP!'
);
?>


$str = strtolower(implode(" ",$arr));


7. 调用如下函数获取函数并获取count的值
<?php
function get_list($cnd = array(), &$count = false)
{
// 伪代码 处理$cnd 并赋值datas
$datas = 'i am call back';
$count && $count = rand(1, 10000);
return $datas;
}
?>


$count=1;
$data = get_list($cnd,&$count);
echo $count;


8. 几种方式去取代session机制, 简单描述各自的优劣


mysql、memcache、cookie保持一种唯一状态标识码


9. 下列HTTP状态码出现的可能原因, 如何处理
200, 301, 404, 502, 503


200
  请求已成功,请求所希望的响应头或数据体将随此响应返回。
301
  被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。   新的永久性的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。   如果这不是一个 GET 或者 HEAD 请求,因此浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。   注意:对于某些使用 HTTP/1.0 协议的浏览器,当它们发送的 POST 请求得到了一个301响应的话,接下来的重定向请求将会变成 GET 方式。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表