php面试题解答

时间:2014.02.22 发布人:遇見無恥的流氓

php面试题解答

已解决问题

谷歌遇見無恥的流氓用户在2014.02.22提交了关于“驴打滚php面试题解答”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-10-31T15:49:10。能答几个算几个··
一、
1、有如下h**TML:<imgtitle='aaaa'sina_title='bbbb'id='img1'>
1)用js取得________方法取得该对象;
2)用________属性取得属性title的属性值;
3)用________方法取得属性sina_title的属性值;
2、php中对数组序列化和反序列化的函数分别是______和_______;
3、rawurlencode和urlencode函数的区别是__________________;
4、php中过滤h**TML的函数是_______,转义的函数是____________;
5、写出用正则把h**TML中的js脚本过滤掉;
6、SQL中LEFTJOIN的含义是______________;
如果有一个表tl_user存储学生ID和名字name,另外一个表tl_score存储学生ID、科目subject和成绩score(有的学生没有**成绩),写出sql语句打印出学生名字和各科总成绩;
7、写出三个调用系统命令的函数;
8、josn处理数组的函数是;
9、php中判断变量是否被设置是函数是_______;判断是否为空的是___________;
10、error_reporting("E_ALL")和ini_set("display_errors","on")的区别_________;
11、Ph**P写出显示客户端IP的预定义变量________;提供来路url的是__________;
12、php把utf-8转换成gbk的函数是___________;
13、php中分割字符串成数组的函数__________,连接数组成字符串的是_______;
14、php中类的静态方法怎么使用_____________________________________;
二、
1、如下错误:mysqlservernotgoaway,的原因是什么?(大概这是这样)
2、mysql的静态表和动态表的区别,MyISAM和InnoDB的区别.
3、$a=1;$b=&$a;
unset($a),$b是否还是1,为什么?
unset($b),$a是否还是1,为什么?
三、
1、写出至少三个函数,取文件名的后缀,如文件'/as/image/bc.jpg',得到jpg或者.jpg。
2、写一个函数,算出两个文件的相对路径如$a='/a/b/c/d/e.php';$b='/a/b/12/34/c.php';计算出$b相对于$a的相路径。
3、用二分法(也叫折半查找法)查找某元素,对像可以是有序数组。
<?php
$array=array(1,3,5,9,11,23,45,68,78,95,112,235,452);
functionbinary($array,$search){希望大家能够帮助她。

详细问题描述及疑问:能答几个算几个··
一、
1、有如下h**TML:<imgtitle='aaaa'sina_title='bbbb'id='img1'>
1)用js取得________方法取得该对象;
2)用________属性取得属性title的属性值;
3)用________方法取得属性sina_title的属性值;
2、php中对数组序列化和反序列化的函数分别是______和_______;
3、rawurlencode和urlencode函数的区别是__________________;
4、php中过滤h**TML的函数是_______,转义的函数是____________;
5、写出用正则把h**TML中的js脚本过滤掉;
6、SQL中LEFTJOIN的含义是______________;
如果有一个表tl_user存储学生ID和名字name,另外一个表tl_score存储学生ID、科目subject和成绩score(有的学生没有**成绩),写出sql语句打印出学生名字和各科总成绩;
7、写出三个调用系统命令的函数;
8、josn处理数组的函数是;
9、php中判断变量是否被设置是函数是_______;判断是否为空的是___________;
10、error_reporting("E_ALL")和ini_set("display_errors","on")的区别_________;
11、Ph**P写出显示客户端IP的预定义变量________;提供来路url的是__________;
12、php把utf-8转换成gbk的函数是___________;
13、php中分割字符串成数组的函数__________,连接数组成字符串的是_______;
14、php中类的静态方法怎么使用_____________________________________;
二、
1、如下错误:mysqlservernotgoaway,的原因是什么?(大概这是这样)
2、mysql的静态表和动态表的区别,MyISAM和InnoDB的区别.
3、$a=1;$b=&$a;
unset($a),$b是否还是1,为什么?
unset($b),$a是否还是1,为什么?
三、
1、写出至少三个函数,取文件名的后缀,如文件'/as/image/bc.jpg',得到jpg或者.jpg。
2、写一个函数,算出两个文件的相对路径如$a='/a/b/c/d/e.php';$b='/a/b/12/34/c.php';计算出$b相对于$a的相路径。
3、用二分法(也叫折半查找法)查找某元素,对像可以是有序数组。
<?php
$array=array(1,3,5,9,11,23,45,68,78,95,112,235,452);
functionbinary($array,$search){期待您的答案,真心佩服你,谢谢 !

希望以下的回答,能够帮助你。

第1个回答

用户名:zieong  

1来自,
varx=document.getElementById("img1");
vartitle=document.getElementById("img1").title;
varsina_title=document.getElementById("img1").sina_title;

2,serialize(),unserialize();

3,编码方式不同,urlencode()将字串以URL编码。例如空格就会变问答成加号。
rawurlencode()将url编码成url的字符串专用格式,特殊字符回转换成百分号后面省式承候迫加两个十六子介数字的格式。
杀飞静自玉刑室因4,strip_tags(),html_entity_decode();

5,$str=pre罗相特活林g_replace("/\<script.*\>.*\<\/script\>/i","",$顾str);
6,左连接,左连接的表如果没有匹配的**不影响结果。
7
**LECTname,sc讲么台针土延漾异对oreFROMtl_userLEFTJOINtl_scoreONtl_***.ID=tl_score.ID
7system(),exe来道唱派初赶停样房c(),passthru()
8,json_decode,json_encode
9isset()empty()
10后者的权限大于前宅后者是OFF的话,前者就算是E-ALL也没用。
11,$_**RVER['REMOTE_ADDR'];
12,incov()
echoiconv("gbk",""UTF劳啊营奏故州-8,"我们");
mb完活罪地_convert_encoding($str,"GBK","UTF-8")
13expl犯局ode()split();implode()join()
14注意事项挺多的,懒得写。

1,陈胜超时,服务器已经关闭连接
2静态表字段长度固定,自动填充,读写速度很快,便于缓存和修复,但比较占硬盘,动态表是字段长度不固定,节省硬盘,但更复杂,容易**生碎片,速要爱而威扬系制免执度慢,出问题后不容易重建。
3InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级**库功能。
MyIASM是IASM刻适印表的新版本,有如下扩展:
二进制层次的可移植性。
**LL列索引。
对变长行比ISAM表有更少的碎片。
主听都坏留使慢质还支持大文件。
更好的索引压缩究丰地括食式越阿氢评养。
更好的键吗统计分布调士够好则历善免代。
更好和更快的auto_increment处理。
1.MySQL最大的优势在于MyISAM引擎下的简单**背LECT,IN**RT和UPDATE快速操作
2.MyISAM类型的**文件可以在不同操作系统中COPY,这点很重要,布署的时候方便点。

以下是一些细节和具体实送表镇派现的差别:
1.InnoDB不支持FULLTEXT类型的索引。
2.InnoDB中不保存表的具体行数,也就是说酒病氢厂还刚音绿,执行selectcount(*)fromtable时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含where条件时,两种表的操作是一样的。
3.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。
4.DELETEFROMtable时,InnoDB不会重新建立表,而是一行一行的删除。
5.LOADTABLEFROMMASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入**后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用。
另外,InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如updatetableset**m=1wherenamelike“%aaa%”
以暂对存储引擎的认识,觉得InnoDB支持外键,在**量可以用“庞大”来形容时,在有良好的INDEX的基础上,InnoDB的查询速度应该比MyISAM要快。
在Falcon有稳定版本前,我想MyISAM是一个可用的选择方案。
任何一种表都不是万能的,只用恰当的针对业务类型来选择合适的表类型,才能最大的发挥MySQL的性能优势
3,都是1^^懒得回答了,睡觉去。