php高级面试题及答案php高级面试题及答案(一)1.echocount(“abcd”);输出多少?intcount(mixedvar)返回单元数目,通常是一个array,任何其他类型都只有一个单元,有一个例外,如果var是null结果是02.$a=$b=$c=0;$a=$b$c;运行以上代码后$a$b$c分别是?$a=false$c=0$b=02.PHP打印出前一天的时间,格式是20XX-12-2922:21:21echodate(Y-m-dH:i:s,strtotime(-1day));strtotime将任何英文文本的日期时间解析成时间戳4.请用php的heredoc语法格式输出:helloworld!echohelloworld!EOT;5.$string="abcdefg",那么$string{4}的值是?$string{4}=e因为PHP是弱类型语言,可以将字符串“视为数组”,当做字符集合看待,字符串中的字符可以在字符串之后用花括号指定所要字符从零开始的偏移量来访问和修改。6.简述echo(),print(),print_r()的区别。echo,print是PHP语言结构,print_r是函数,语言结构没有返回值,函数可以有返回值(即便没有用)print只能打印出简单类型变量的值(如int,string)print_r可以打印出复杂类型变量的值(如数组,对象)7.用PHP写出显示客户端IP与服务器IP的代码。客户端:$_SERVER[REMOTE_ADDR]服务器:$_SERVER[SERVER_ADDR]php高级面试题及答案(二)1.nginx使用哪种网络协议?nginx是应用层我觉得从下往上的话传输层用的是tcp/ip应用层用的是httpfastcgi负责调度进程2.没有输出结果,可能是什么原因,简述的解决此问题的过程(提示:语法没有问题)可能服务器上面没有开启短标签short_open_tag=设置为Off,,php.ini开启短标签控制参数:short_open_tag=On3.简述下面程序的输出结果,简要说明为什么,如何解决这类问题?$tmp=0=="a"?1:2;echo$tmp;?结果1int和string类型强制转换造成的,0==="a"0==0肯定是true啊PHP是弱类型。。$tmp=0==="a"?1:2;echo$tmp;这样就是24.已知一个字符串如下:$str="1109063milo1";用一行代码将该字符串里面的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.分别列出如下类型的有符号和无符号范围TINYINTSMALLINTMEDIUMINTINTTINYINT-2^7-2^7-10~2^8-1SMALLINT-2^15-2^15-10~2^16-1MEDIUMINT-2^23-2^23-10~2^24-1INT-2^31-2^31-10~2^32-16.将下面的数组用一行拼装成一个字符串iammilo!daydayup!$arr=array(I,AM,MILO!,DAY,DAY,UP!);?$str=strtolower(implode("",$arr));php高级面试题及答案(三)1.调用如下函数获取函数并获取count的值functionget_list($cnd=array(),$count=false){//伪代码处理$cnd并赋值datas$datas=iamcallback;$count$count=rand(1,10000);return$datas;}?$count=1;$data=get_list($cnd,$count);echo$count;2.几种方式去取代session机制,简单描述各自的优劣mysql、memcache、cookie保持一种唯一状态标识码3.下列HTTP状态码出现的可能原因,如何处理200,301,404,502,503200请求已成功,请求所希望的响应头或数据体将随此响应返回。301被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。新的永久性的URI应当在响应的Location域中返回。除非这是一个HEAD请求,否则响应的实体中应当包含指向新的URI的超链接及简短说明。如果这不是一个GET或者HEAD请求,因此浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。注意:对于某些使用HTTP/1.0协议的浏览器,当它们发送的POST请求得到了一个301响应的话,接下来的重定向请求将会变成GET方式。404请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示...