PHP程序员面试题目
流行的php面试题及答案
1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的URL记录在预定义变量(2)中。答:echo$_SERVER["PHP_SELF"];echo$_SERVER["HTTP_REFERER"];2.执行程序段将输出(3)。答:0
3.在HTTP1.0中,状态码401的含义是(4);如果返回“找不到文件”的提示,则可用header函数,其语句为(5)。答:(4)未授权(5)header("HTTP/1.0404NotFound");
4.数组函数arsort的作用是(6);语句error_reporting(2047)的作用是(7)。答:(6)对数组进行逆向排序并保持索引关系(7)Allerrorsandwarnings5.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把标记及其内容都去掉):(9)。答:/].*?>.*?/si
6.以Apache模块的方-yongan.com式安装PHP,在文件http.conf中首先要用语句(10)动态装载PHP模块,
然后再用语句(11)使得Apache把所有扩展名为php的文件都作为PHP脚本处理。
答:(10)LoadModulephp5_module"D:/xampp/apache/bin/php5apache2.dll"
(11)AddTypeapplication/x-httpd-php-source.phpsAddTypeapplication/x-httpd-php.php.php5.php4.php3.phtml
7.语句include和require都能把另外一个文件包含到当前文件中,它们的区别是(12);为了避免多次包含同一文件,可以用语句(13)来代替-global.com它们。
答:(12)发生异常时include产生警告require产生致命错误(13)require_once()/include_once()
8.类的属性可以序列化后保存到session中,从而以后可以恢复整个类,这要用到的函数是(14)。
答:serialize()/unserialize()9.一个函数的参数不能是对变量的引用,除非在php.ini中把(15)设为on.
答:allow_call_time_pass_reference
10.SQL中LEFTJOIN的含义是(16)。如果tbl_user记录了学生的姓名(name)和学号(ID),
tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句(17)。
答:(16)自然左外连接(17)selectname,count(score)assum_scorefromtbl_userleftjointbl_scoreontbl_user.ID=tbl_score.IDgroupbytbl_user.ID
11..在PHP中,heredoc是一种特殊的字符串,它的结束标志必须(18)。答:结束标识符所在的行不能包含任何其它字符除";"
12.用PHP打印出前一天的时间格式是201*-5-1022:21:21答:echodate("Y-m-dH:i:s",strtotime("-1day"));13.echo(),print(),print_r()的区别
答:echo是语言结构,无返回值;print功能和echo基本相同,不同的是print是函数,有返回值;print_r是递归打印,用于输出数组对象14.如何实现字符串翻转?
答:.用strrev函数呗,不准用PHP内置的就自己写:
strrev($str){
$len=strlen($str);
$newstr="";
for($i=$len;$i>=0;$i--){
$newstr.=$str{$i};
}return$newstr;}
15.实现中文字串截取无乱码的方法。答:mb_substr()
16.使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来表名User
NameTelContentDate张三13333663366大专毕业201*-10-11张三13612312331本科毕业201*-10-15张四021-55665566中专毕业201*-10-15
答:SELECTName,Tel,Content,DateFROMUserWHEREName="张三"17.如何使用下面的类,并解释下面什么意思?
classtest{
Get_test($num)
{$num=md5(md5($num)."En");return$num;}}
答:用法:
$get_test=newtest();
$result=$get_test->Get_test(2);
将$num变量进行两次md5后返回,第2次的md5中的参数,在第一次md5($num)后多加了En
18.使用五种以上方式获取一个文件的扩展名
要求:dir/upload.image.jpg,找出.jpg或者jpg,答:使用五种以上方式获取一个文件的扩展名1)
get_ext1($file_name)
{returnstrrchr($file_name,".");}2)
get_ext2($file_name)
{returnsubstr($file_name,strrpos($file_name,"."));}3)
get_ext3($file_name){
returnarray_pop(explode(".",$file_name));}4)get_ext4($file_name){
$p=pathinfo($file_name);return$p["extension"];}5)
get_ext5($file_name)
{returnstrrev(substr(strrev($file_name),0,strpos(strrev($file_name),".")));}
19.如何修改SESSION的生存时间
这个函式库让你处理和显示各式格式的图档,它的另一个常见用途是制作所图档。GD以外的另一个选择是ImageMagick,但这个函式库并不内建于PHP之中,必须由系统管理员安装在伺服器上
答:其实Session还提供了一个函数session_set_cookie_params();来设置Session的生存期的,该函数必须在session_start()函数调用之前调用:
<?php
//保存一天
$lifeTime=24*3600;
session_set_cookie_params($lifeTime);
session_start();
$_SESSION["admin"]=true;
?>
20.请写一个函数,实现以下功能:字符串“open_door”转换成
“OpenDoor”、”make_by_id”转换成”MakeById”。30.请举例说明在你的开发过程中用什么方法来加快页面的加载速度
A.生成静态HTML生成xml
C.可不用数据库的尽量不用数据库把变量参数存于文本.D.用ZEND加速答:$arr1=explode("_",$str);
//$arr2=array_walk($arr1,ucwords());$str=implode("",$arr1);returnucwords($str);}
$aa="open_door";echotest($aa);?>
21.如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到?答:$_SERVSR[‘REQUEST_URI’]$_SERVER[‘REMOTE_ADDR’]22.求两个日期的差数,例如201*-2-5~201*-3-6的日期差数
答:(strtotime(‘201*-3-6’)-strtotime(‘201*-2-5’))/3600*2423.表中有ABC三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。答:selectcasewhenA>BthenAelseBend,
casewhenB>CthenBelseCendFromtest
24.请简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?
1)选择最有效率的表名顺序(2)WHERE子句中的连接顺序
(3)SELECT子句中避免使用‘*’(4)用Where子句替换HAVING子句(5)通过内部函数提高SQL效率(6)避免在索引列上使用计算。(7)提高GROUPBY语句的效率,可以通过将不需要的记录在GROUPBY之前过滤掉。
25.mysql_fetch_row()和mysql_fetch_array()有什么分别?
mysql_fetch_row()把数据库的一列储存在一个以零为基数的阵列中,第一栏在阵列的索引0,第二栏在索引1,如此类推。mysql_fetch_assoc()把数据库的一列储存在一个关联阵列中,阵列的索引就是栏位名称,例如我的数据库查询送回“first_name”、“last_name”、“email”三个栏位,阵列的索引便是“first_name”、“last_name”和“email”。mysql_fetch_array()可以同时送回mysql_fetch_row()和mysql_fetch_assoc()的值。26.下面的代码用来做什么?请解释。$date="08/26/201*";print
ereg_replace("([0-9]+)/([0-9]+)/([0-9]+)","\\\\2/\\\\1/\\\\3",$date);
这是把一个日期从MM/DD/YYYY的格式转为DD/MM/YYYY格式。我的一个好朋友告诉我可以把这个正规表达式拆解为以下的语句,对于如此简单的表示是来说其实无须拆解,纯粹为了解说的方便:
//对应一个或更多0-9,后面紧随一个斜号$regExpression="([0-9]+)/";//应一个或更多0-9,后面紧随另一个斜号$regExpression.="([0-9]+)/";//再次对应一个或更多0-9$regExpression.="([0-9]+)";至于\\\\2/\\\\1/\\\\3则是用来对应括号,第一个括号对的是月份,27.GD函式库用来做什么?
答:这个函式库让你处理和显示各式格式的图档,它的另一个常见用途是制作所图档。GD以外的另一个选择是ImageMagick,但这个函式库并不内建于PHP之中,必须由系统管理员安装在伺服器上
28.请举例说明在你的开发过程中用什么方法来加快页面的加载速度
答:要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引,页面可生成静态,图片等大文件单独服务器。使用代码优化工具啦29.防止SQL注射漏洞一般用__addslashes___函数。30.PHP中传值和传引用、传地址的区别是什么?
答:传值是把实参的值赋值给行参那么对行参的修改,不会影响实参的值传地址是传值的一种特殊方式,只是他传递的是地址,不是普通的如int那么传地址以后,实参和行参都指向同一个对象
31。如何通过javascript判断一个窗口是否已经被屏蔽答:获取open()的返回值,如果是null,就是屏蔽了33.对于大流量的网站,您采用什么样的方法来解决访问量问题答:首先,确认服务器硬件是否足够支持当前的流量其次,优化数据库访问。第三,禁止外部的盗链。第四,控制大文件的下载。
第五,使用不同主机分流主要流量第六,使用流量分析统计软件
扩展阅读:PHP程序员面试题
PHP程序员面试题
1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的的前一页面URL记录在预定义变量(2)中
2.执行程序段将输出__。
3.在HTTP1.0中,状态码401的含义是____;如果返回“找不到文件”的提示,则可用header函数,其语句为____。
答:401表示未授权;header("HTTP/1.0404NotFound");[见参考手册》函数参考》HTTP函数》header]
4.数组函数arsort的作用是____;语句error_reporting(2047)的作用是____。
答:arsort:对数组进行逆向排序并保持索引关系error_reporting(2047)的作用是:reportAllerrorsandwarnings5.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):
6.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,
然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。答:LoadModulephp5_module"c:/php/php5apache2.dll";AddTypeapplication/x-httpd-php.php
见参考手册》目录》II.安装与配置》6.Windows系统下的安装》MicrosoftWindows下的Apache2.0.x
7.语句include和require都能把另外一个文件包含到当前文件中,它们的区别是____;为了避免多次包含同一文件,可以用语句____来代替它们。
答:在如何处理失败时,include()产生一个警告而require()则导致一个致命错误;require_once()/include_once()
8.一个函数的参数不能是对变量的引用,除非在php.ini中把____设为on.答:allow_call_time_pass_referenceboolean:是否启用在函数调用时强制参数被按照引用传递,见参考手册》附录G
9.SQL中LEFTJOIN的含义是__,如果tbl_user记录了学生的姓名(name)和学号(ID),
tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句____.答:自然左外连接
createdatabasephpinterview;usephpinterview
createtabletbl_user(
IDintnotnull,
namevarchar(50)notnull,
primarykey(ID));
createtabletbl_score(
IDintnotnull,
scoredec(6,2)notnull,
subjectvarchar(20)notnull);
insertintotbl_user(ID,name)values(1,"beimu");insertintotbl_user(ID,name)values(2,"aihui");
insertintotbl_score(ID,score,subject)values(1,90,"语文");insertintotbl_score(ID,score,subject)values(1,80,"数学");insertintotbl_score(ID,score,subject)values(2,86,"数学");insertintotbl_score(ID,score,subject)values(2,96,"语文");
selectA.id,sum(B.score)assumscorefromtbl_userAleftjointbl_scoreBonA.ID=B.IDgroupbyA.id
10.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须____答:结束标识符所在的行不能包含任何其它字符除";"
11.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
{
$files[]=$dir."/".$file;}}}
closedir($handle);return$files;}}}
print_r(my_scandir("D:ProgramFilesInternetExplorerMUI"));?>
1、用PHP打印出前一天的时间,格式是201*-5-1022:21:21(2分)
echodate(‘Y-m-dH:i:s’,date(‘U’)-86400);
或者echodate("Y-m-dH:i:s",strtotime("-1day"));
2、echo(),print(),print_r()的区别(3分)
echo是PHP语句,语句是没有返回值的,而print和print_r是函数,函数可以有返回值。
print只能打印出简单类型变量的值(如int,string)print_r可以打印出复杂类型变量的值(如数组,对象)echo--输出一个或者多个字符串
3、能够使HTML和PHP分离开使用的模板(1分)
smarty模板
4、使用哪些工具进行版本控制?(1分)
CVS和SVN[subversion]
5、如何实现字符串翻转?(3分)
使用php函数strrev(‘abc’)
6、优化MYSQL数据库的方法。(4分,多写多得)
(1).选取最适用的字段属性,应该尽量把字段设置为NOTNULL,这样在将来执行查询的时候,数据库不用去比较NULL值。
(2).使用连接(JOIN)来代替子查询(Sub-Queries)(3).使用联合(UNION)来代替手动创建的临时表(4).尽量少使用LIKE关键字和通配符(5).使用事务和外键
7、PHP的意思(送1分)
PHP是一种服务器端的,嵌入HTML的脚本语言。
英文“超级文本预处理语言”(HypertextPreprocessor)的缩写
8、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)
now()date_format(date,format)
9、实现中文字串截取无乱码的方法。(3分)
当用substr截取中文字符的时候会出现乱码,当然你如果装了mb扩展,用mb_substr截取就不会出现这种问题,如果你用的是虚拟主机,主机上又没装mb扩展的话,你可以用下面的函数截取
#Cutchinesestringintoappointedlength#@param[string]stringneeddeal
#@param[start]positiontocutfrom#@param[length]lengthtocut#@returnstring
functionGBsubstr($string,$start,$length){if(strlen($string)>$length){$str=null;
$len=$start+$length;
for($i=$start;$i0xa0){$str.=substr($string,$i,2);$i++;}else{
$str.=substr($string,$i,1);}}
return$str."...";}else{
return$string;}}
10、您是否用过版本控制软件?如果有您用的版本控制软件的名字是?(1分)
CVSsubversion
11、您是否用过模板引擎?如果有您用的模板引擎的名字是?(1分)
SmartyDiscuz
12、请简单阐述您最得意的开发之作(4分)
。。。
13、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)
首先,确认服务器硬件是否足够支持当前的流量其次,优化数据库访问。第三,禁止外部的盗链。第四,控制大文件的下载。
第五,使用不同主机分流主要流量第六,使用流量分析统计软件。
14、用PHP写出显示客户端IP与服务器IP的代码(1分)
客户端IP:echo$_SERVER[‘REMOTE_ADDR’];或者:getenv("REMOTE_ADDR");
服务器IP:
$serverIP=gethostbynamel("webpro01");
echo"ServerIPAddress:";
for($i=0;$iecho"
".$netscapeftp[$i];}
echo"";
?>15、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?(2分)
1、PHP程序执行到require()时,只会读取一次档案,故常放在程序开头,档案引入后PHP会将网页档重新编译,让引入档成为原先网页的一部分。
2、PHP程序执行到include()时,每次皆会读取档案,故常用于流程控制的区段,如条件判断或循环中。
3、require():如果文件不存在,会报出一个fatalerror.脚本停止执行
4、include():如果文件不存在,会给出一个warning,但脚本会继续执行5、推荐使用require_once()和include_once(),可以检测文件是否有重复包含。16、如何修改SESSION的生存时间(1分).
1.将php.ini中session.gc_maxlifetime设置为9999(默认为1440)重启apache即可2.
$savePath="./session_save_dir/";
$lifeTime=24*3600;
session_save_path($savePath);
session_set_cookie_params($lifeTime);
session_start();3.
setcookie()或session_set_cookie_params($lifeTime)17、有一个网页地址,比如PHP开发资源网主页:
,如何得到它的内容?($1分)
//需要读取的page地址
$http_page_url="";//打开远程文件
$read_file=fopen($http_page_url,"rb");if(!feof($read_file)){//读取远程文件
$file_stream="";do{
$data=fread($read_file,8192);if(strlen($data)==0){break;}
$file_stream.=$data;}while(true);}
echo$file_stream;//输出内容
对PHP5及更高版本可以:
$handle=fopen("","rb");
$contents=stream_get_contents($handle);
fclose($handle);
echo$contents;?>
最简单的方法是调用函数:
printfile_get_contents("");?>
18、在HTTP1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用header函数,其语句为(?);(2分)
状态值为401,代表未被授权;header("Location:");
19、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?(1分)
heredoc的语法是用"
20、谈谈asp,php,jsp的优缺点(1分)
ASP全名ActiveServerPages,是一个WEB服务器端的开发环境,利用它可以产生和运
行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Javascript
)作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言.它大量地借用C,Java和Perl语言的语法
,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数
据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(
t)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
JSP是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--
脚本级执行(据说PHP4也已经在Zend的支持下,实现编译运行).Sun公司借助自己在Jav
a上的不凡造诣,将Java从Java应用程序和JavaApplet之外,又有新的硕果,就是Js
p--JavaServerPage。Jsp可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
三者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
但JSP代码被编译成Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的
第一次请求时发生。在ASP、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式
,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP、PH
P、JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到
HTML代码中,然后一起发送给浏览器。ASP、PHP、JSP三者都是面向Web服务器的技术
,客户端浏览器不需要任何附加的软件支持。
21、谈谈对mvc的认识(1分)
22、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)SelectusernameFROMmembersorDERBYpostsDESCLIMIT0,10;
23.请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)
Callbyvalue(传值):指从主程序将变量内容传递给函数的参数,无论在函数内如何修改、变化该参数值,都不影响主程序原本变量的内容,即使变量名称相同。
调用方式:函数名(参数1,参数2);
Callbyaddress(传引用):指从主程序将变量地址传递给函数的参数,在函数内若修改、变化该参数值,会修改主程序原本变量的内容,即主程序与函数存取的是同一变量。
调用方式:函数名(&参数1,&参数2);
按值传递:函数范围内对值的任何改变在函数外部都会被忽略
按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改
优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。
按引用传递则不需要复制值,对于性能提高很有好处。
24.在PHP中error_reporting这个函数有什么作用?(1分)
error_reporting()用于设置php的侦听错误的级别.[用来配置错误信息回报的等级].
//Turnoffallerrorreportingerror_reporting(0);
//Reportsimplerunningerrors
error_reporting(E_ERROR|E_WARNING|E_PARSE);
//ReportingE_NOTICEcanbegoodtoo(toreportuninitialized//variablesorcatchvariablenamemisspellings...)
error_reporting(E_ERROR|E_WARNING|E_PARSE|E_NOTICE);//ReportallerrorsexceptE_NOTICE
//Thisisthedefaultvaluesetinphp.inierror_reporting(E_ALL^E_NOTICE);//ReportallPHPerrors
error_reporting(E_ALL);
//Sameaserror_reporting(E_ALL);ini_set("error_reporting",E_ALL);?>25.请写一个函数验证电子邮件的格式是否正确(2分)
(1)Javascript实现:
functioncheckEmail(form){
re=/^[^s]+@[^s]+.[^s]+$/;
if(re.test(form.value)){
alert(‘符合验证’);
}else{
alert(‘验证失败’);}}
(2)php实现
functionCheckMailAdr($str){
return(eregi(“^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$“,$str));}(3)
functionvalidateEmail($email){
if(eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$",$email)){
returntrue;}else{
returnfalse;}}
26.简述如何得到当前执行脚本路径,包括所得到参数。(2分)
说明:例如有一个脚本,传给他的参数有参数1,参数2,参数3。传递参数的方法有可能是GET有可能是POST,那么现在请写出类似:
参数1=值1&参数2=值2..的结果。
1获取所有参数:可以用以下方法://获取post的数据
while(list($var,$value)=each($HTTP_POST_VARS)){
echo“$var=$valuen“;}
//获取get方式的数据
while(list($var,$value)=each($HTTP_GET_VARS)){
echo“$var=$valuen“;}
2.echo$_SERVER["scrīpt_FILENAME"]."?".$_SERVER["QUERY_STRING"];
27、JS表单弹出对话框函数是?获得输入焦点函数是?(2分)
弹出对话框:alert(),prompt(),confirm()获得输入焦点focus()
28、JS的转向函数是?怎么引入一个外部JS文件?(2分)
转向函数window.location.href
引入外部JS文件:
29、foo()和@foo()之间有什么区别?(1分)
@foo()有控制错误输出
30、如何声明一个名为”myclass”的没有方法和属性的类?(1分)
classmyclass{}
31、如何实例化一个名为”myclass”的对象?(1分)
$newmyclass=newmyclass();
32、你如何访问和设置一个类的属性?(2分)
$newmyclass=newmyclass();$temp=$newmyclass->test;$newmyclass->test="a";33、mysql_fetch_row()和mysql_fetch_array之间有什么区别?(1分)
mysql_fetch_row--从结果集中取得一行作为枚举数组mysql_fetch_array--从结果集中取得一行作为关联数组,或数字数组,或二者兼有
34、GD库是做什么用的?(1分)
gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。
在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。
35、指出一些在PHP输入一段HTML代码的办法。(1分)
1.echo‘’;直接输出
2.requireinclude包含进来一段html代码
3.由XML文件得到
36、下面哪个函数可以打开一个文件,以对文件进行读和写操作?(1分)(a)fget()(b)file_open()(c)fopen()(d)open_file()
(c)是正确的
37、下面哪个选项没有将john添加到users数组中?(1分)(a)$users[]=‘john’;
(b)array_add($users,’john’);(c)array_push($users,‘john’);(d)$users||=‘john’;
(b)(d)均是错误的写法
38、下面的程序会输入是否?(1分)$num=10;
functionmultiply(){$num=$num*10;}
multiply();echo$num;?>输出39、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来(2分)
表名User
NameTelContentDate
张三13333663366大专毕业201*-10-11张三13612312331本科毕业201*-10-15张四021-55665566中专毕业201*-10-15
请根据上面的题目完成代码:
$mysql_db=mysql_connect("local","root","pass");@mysql_select_db("DB",$mysql_db);
$result=mysql_query("select*fromUserwhereName="张三"");while($row=mysql_fetch_array($result)){
echo$row["Name"].$row["Tel"].$row["Content"].$row["Date"];echo"";}
40、如何使用下面的类,并解释下面什么意思?(3)classtest{
functionGet_test($num){$num=md5(md5($num)."En");return$num;}}
双重md5加密
$testObject=newtest();
$encryption=$testObject->Get_test("xiaotian_ls");
41、写出SQL语句的格式:插入,更新,删除(4分)表名User
NameTelContentDate
张三13333663366大专毕业201*-10-11张三13612312331本科毕业201*-10-15张四021-55665566中专毕业201*-10-15
(a)有一新记录(小王13254748547高中毕业201*-05-06)请用SQL语句新增至表中
InsertINTOUser("Name","Tel","Content","Date")VALUES("小王","13254748547","高中毕业","201*-05-06")
(b)请用sql语句把张三的时间更新成为当前系统时间
UpdateUserSETDate=DATE_FORMAT(NOW(),"%Y-%m-%d")WhereName="张三"(c)请写出删除名为张四的全部记录
DeleteFROMUserWhereName="张四"
42、请写出数据类型(intcharvarchardatetimetext)的意思;请问varchar和char有什么区别(2分)
int数值类型char固定长度字符串varchar可变长字符串datetime日期时间型text字符字符串
char列的长度固定为创建表时声明的长度.varchar列中的值为可变长字符串.
43、MySQ自增类型(通常为表ID字段)必需将其设为(?)字段(1分)
AUTO_INCREMENT
44、写出以下程序的输出结果(1分)$b=201;$c=40;
$a=$b>$c?4:5;echo$a;?>4
45、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)
isset($a)empty($a)
46、取得查询结果集总数的函数是?(1分)
mysql_num_rows($res);
47、$arr=array("james","tom","symfony");请打印出第一个元素的值(1分)
echo$arr[0];
48、请将47题的数组的值用","号分隔并合并成字串输出(1分)
echo$arr[0].$arr[1].$arr[2];
49、$a="abcdef";请取出$a的值并打印出第一个字母(1分)
echo$a{0};
50、PHP可以和sqlserver/oracle等数据库连接吗?(1分)
可以
51、请写出PHP5权限控制修饰符(3分)
privateprotectedpublic
52、请写出php5的构造函数和析构函数(2分)
__construct__destruct
53、以下请用PHPMYADMIN完成
(一)创建新闻发布系统,表名为message有如下字段(3分)id文章id
title文章标题content文章内容
category_id文章分类idhits点击量
CreateTABLE"message"(
"id"int(11)NOTNULLauto_increment,"title"varchar(200)defaultNULL,"content"blob,
"category_id"int(11)defaultNULL,"hits"int(11)defaultNULL,PRIMARYKEY("id")
)ENGINE=InnoDBDEFAULTCHARSET=utf8
(二)同样上述新闻发布系统:表comment记录用户回复内容,字段如下(4分)comment_id回复id
id文章id,关联message表中的idcomment_content回复内容
现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
文章id文章标题点击量回复数量
用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0
Selectmessage.idid,message.titletitle,IF(message.`hits`IS
NULL,0,message.`hits`)hits,IF(comment.`id`isNULL,0,count(*))numberFROMmessageLEFTJOINcommentONmessage.id=comment.idGROUPBYmessage.`id`
(三)上述内容管理系统,表category保存分类信息,字段如下(3分)category_idint(4)notnullauto_increment;categroy_namevarchar(40)notnull;
用户输入文章时,通过选择下拉菜单选定文章分类写出如何实现这个下拉菜单
functioncategoryList(){
$result=mysql_query("selectcategory_id,categroy_namefromcategory")ordie("Invalidquery:".mysql_error());
print("n");while($rowArray=mysql_fetch_array($result)){print("".$rowArray["categroy_name"]."n");}print("");}
友情提示:本文中关于《PHP程序员面试题目》给出的范例仅供您参考拓展思维使用,PHP程序员面试题目:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
《PHP程序员面试题目》
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/695400.html
- 上一篇:婚纱影楼与婚纱摄影工作室区别
- 下一篇:影楼后期设计精修标准