php面试集锦

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1在php中把字符串变成数组,用那个方法?(str=2|2|3|6|9|8变成array=[2|2|3|6|9|8])字符串变数组$arr=(|,$txt);利用explode函数将字符串转成数组利用split函数将数组拆分成字符串2php语句获取当前时间?date(Y-m-d)3.在php中的字符用在html中输出会移动,那么用什么函数解决?(没有理解是什么意思)4php定义类用class,那么javascript中用什么定义?function5用什么函数获取上传文件的完整路径名?$_FILES[‘userfile’][‘name’](获得客户端机器上声明的文件最初的名字,包括扩展名)说明:userfile是一个占位符。代表赋给文件上传表单文件的名字。6用什么函数获取用户的完整ip名?gethostbyname7怎么判断邮件的格式?(1)Javascript实现:functioncheckEmail(form){re=/^[^\s]+@[^\s]+\.[^\s]+$/;if(re.test(form.value)){alert(‘符合验证’);}elsealert(‘验证失败’);}}(2)php实现functionCheckMailAdr($str){return(ereg(“^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$“,$str));}(3)functionvalidateEmail($email){if(ereg(^[0-9a-zA-Z_.]{1,}@[0-9a-zA-Z_.]{1,}\\.[a-zA-Z]{1,}$,$email)){returntrue;}else{returnfalse;}}8在mysql中假设表users,用一条语句在表中随机抽取10条记录?select*fromusersorderbyrand()limit109在两个表中知道有一个人叫“名山”,不知道姓什么。怎么找出该人的信息?10php中获取文件当前行号的方法?11转义字符的写法用\12smarty中output与display函数的区别?display(stringtemplate)是显示模板的作用,需要指定一个合法的模板资源的类型和路径。13用PHP打印出前一天的时间格式2006-5-1022:21:21echodate('Y-m-dH:i:s',strtotime('-1day'));14echo(),print(),print_r()的区别echo是PHP语句,语句没有返回值,print和print_r是函数,函数可以有返回值(即便没有用)print只能打印出简单类型变量的值(如int,string)print_r可以打印出复杂类型变量的值(如数组,对象)echo--输出一个或者多个字符串15.能够使HTML和PHP分离开使用的模板smarty,HeyesTemplateClass等16如何实现PHP、JSP交互?SOAP,XML_RPC,Socketfunction,CURL都可以实现这些.17.使用哪些工具进行版本控制?CVS和SVN,SVN号称下一代CVS,功能强大,不过CVS是老牌,市占率很高.我一直用SVN,题目是问用什么工具,这个可能需要这么回答:CVSServeronApache作服务端,WinCVS作客户端;SubversiononApache/DAV做服务端,TortoiseSVN做客户端,或者Subclipse做客户端.18.如何实现字符串翻转?方法一:使用php的strrev()函数方法二:functionss($str){$len=strlen($str);$newstr='';for($i=$len;$i=0;$i--){$newstr.=$str{$i};}return$newstr;}19.优化MYSQL数据库的方法。(1).选取最适用的字段属性,应该尽量把字段设置为NOTNULL,这样在将来执行查询的时候,数据库不用去比较NULL值。(2).使用连接(JOIN)来代替子查询(Sub-Queries)(3).使用联合(UNION)来代替手动创建的临时表(4).尽量少使用LIKE、IN等关键字和通配符(5).使用事务和外键20.谈谈事务处理事务就是一系列的操作,这些操作完成一项任务。只要这些操作里有一个操作没有成功,事务就操作失败,发生回滚事件。21.apache+mysql+php实现最大负载的方法22.实现中文字串截取无乱码的方法方法一:当用substr截取中文字符的时候会出现乱码,当然你如果装了mb扩展,用mb_substr截取就不会出现这种问题,如果你用的是虚拟主机,主机上又没装mb扩展的话,你可以用下面的函数截取#@$string是将要经行截取的字符串#@$start是截取的起始位置#@$length是截取的长度#@最后的$string是返回的截取以后的字符串functionGBsubstr($string,$start,$length){if(strlen($string)$length){$str=null;$len=$start+$length;for($i=$start;$i$len;$i++){if(ord(substr($string,$i,1))0xa0){$str.=substr($string,$i,2);$i++;}else{$str.=substr($string,$i,1);}}return$str.'...';}else{return$string;}}方法二:(不使用mb_substr()方法)functionjiequ($str,$len,$language=cn){if($language==cn){$len=$len*2;}$new_str=substr($str,0,$len).chr(0).'.....';return$new_str;}$stt='我们住在北京市圆明园东门';echo'截取之前的字符串是:'.$stt.br;echo'截取之后的字符串是:'.jiequ($stt,4);方法三:使用mb_substr()方法。23.您是否用过版本控制软件?如果有您用的版本控制软件的名字是?CVSsubversionSVN.您是否用过模板引擎?如果有您用的模板引擎的名字是?SmartyDiscuz24对于大流量的网站,您采用什么样的方法来解决访问量问题?首先,确认服务器硬件是否足够支持当前的流量其次,优化数据库访问。第三,禁止外部的盗链。第四,控制大文件的下载。第五,使用不同主机分流主要流量第六,使用流量分析统计软件。25用PHP写出显示客户端IP与服务器IP的代码://显示客户端Ifunctionget_client_ip(){#if(getenv('HTTP_CLIENT_IP')){$client_ip=getenv('HTTP_CLIENT_IP');}elseif(getenv('HTTP_X_FORWARDED_FOR')){$client_ip=getenv('HTTP_X_FORWARDED_FOR');}elseif(getenv('REMOTE_ADDR')){$client_ip=getenv('REMOTE_ADDR');}else{$client_ip=$HTTP_SERVER_VAR['REMOTE_ADDR'];}return$client_ip;}//服务器IPfunctionget_server_ip(){if(isset($_SERVER)){if($_SERVER['SERVER_ADDR'])$huoqu_ip=$_SERVER['SERVER_ADDR'];else$huoqu_ip=$_SERVER['LOCAL_ADDR'];}else{$huoqu_ip=getenv('SERVER_ADDR');}return$huoqu_ip;}26表comment记录用户回复内容,字段如下comment_id回复idid文章id,关联message表中的idcomment_content回复内容现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面文章id文章标题点击量回复数量用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0SELECTmessage.idid,message.titletitle,IF(message.`hits`ISNULL,0,message.`hits`)hits,IF(comment.`id`isNULL,0,count(*))numberFROMmessageLEFTJOINcommentONmessage.id=comment.idGROUPBYmessage.`id`、27请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)Callbyvalue(传值):指从主程序将变量内容传递给函数的参数,无论在函数内如何修改、变化该参数值,都不影响主程序原本变量的内容,即使变量名称相同。调用方式:函数名(参数1,参数2);Callbyaddress(传引用):指从主程序将变量地址传递给函数的参数,在函数内若修改、变化该参数值,会修改主程序原本变量的内容,即主程序与函数存取的是同一变量。调用方式:函数名(&参数1,&参数2);按值传递:函数范围内对值的任何改变在函数外部都会被忽略按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。按引用传递则不需要复制值,对于性能提高很有好处。28在PHP中error_reporting这个函数有什么作用?(1分)error_reporting()用于设置php的侦听错误的级别.[用来配置错误信息回报的等级].29一个页地址如何得到它的内容?file_get_contents($url)30有一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列。要求执行效率高。并说明如何改善执行效率。(该函数必须自己实现,不能使用php函数)方法一:(使用冒泡排序)?phpecho利用冒泡方法实现排序br;functionbol_sort($array){$count=count($array);if($count0){returnfalse;}else{for($i=0;$i=$count;$i++){for($j=$count;$j$i;$j--){if($array[$i]$array[$j]){$temp=$array[$i];$array[$i]=$array[$j];$array[$j]=$temp;}}}}return$array;}$arr=array(5,9,6,8,1);$newArr=bol_sort($arr);echo排序前的顺序是:br;foreach($arras$a){echo$a.\n\r;}echobr;echo排序后的顺序是:br;foreach($newArras$b){echo$b.\n\r;}?方法二:(使用快速排序)?phpecho利用快速排序方法实现排序br;functionquick_sort($array){if(count($array)=1)return$array;$key=$array[0];$left_arr=array();$right_arr=array();for($i=1;$icount($array);$i++){if($array[$i]=$key)$left_arr[]=$array[$i];else$right_arr[]=$array[$i];}$left_arr=quick_sort($left_arr);$right_arr=qu

1 / 63
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功