php100道面试题.docx

上传人:b****1 文档编号:10757361 上传时间:2023-05-27 格式:DOCX 页数:30 大小:25.97KB
下载 相关 举报
php100道面试题.docx_第1页
第1页 / 共30页
php100道面试题.docx_第2页
第2页 / 共30页
php100道面试题.docx_第3页
第3页 / 共30页
php100道面试题.docx_第4页
第4页 / 共30页
php100道面试题.docx_第5页
第5页 / 共30页
php100道面试题.docx_第6页
第6页 / 共30页
php100道面试题.docx_第7页
第7页 / 共30页
php100道面试题.docx_第8页
第8页 / 共30页
php100道面试题.docx_第9页
第9页 / 共30页
php100道面试题.docx_第10页
第10页 / 共30页
php100道面试题.docx_第11页
第11页 / 共30页
php100道面试题.docx_第12页
第12页 / 共30页
php100道面试题.docx_第13页
第13页 / 共30页
php100道面试题.docx_第14页
第14页 / 共30页
php100道面试题.docx_第15页
第15页 / 共30页
php100道面试题.docx_第16页
第16页 / 共30页
php100道面试题.docx_第17页
第17页 / 共30页
php100道面试题.docx_第18页
第18页 / 共30页
php100道面试题.docx_第19页
第19页 / 共30页
php100道面试题.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

php100道面试题.docx

《php100道面试题.docx》由会员分享,可在线阅读,更多相关《php100道面试题.docx(30页珍藏版)》请在冰点文库上搜索。

php100道面试题.docx

php100道面试题

一、基础题1.写出如下程序的输出结果

$str1=null;

$str2=false;

echo$str1==$str2?

‘相等’:

‘不相等’;

$str3=”;

$str4=0;

echo$str3==$str4?

‘相等’:

‘不相等’;

$str5=0;

$str6=‘0′;

echo$str5===$str6?

‘相等’:

‘不相等’;

?

>

2.写出如下程序的输出结果

$a1=null;

$a2=false;

$a3=0;

$a4=”;

$a5=‘0′;

$a6=‘null’;

$a7=array();

$a8=array(array());

echoempty($a1)?

‘true’:

‘false’;

echoempty($a2)?

‘true’:

‘false’;

echoempty($a3)?

‘true’:

‘false’;

echoempty($a4)?

‘true’:

‘false’;

echoempty($a5)?

‘true’:

‘false’;

echoempty($a6)?

‘true’:

‘false’;

echoempty($a7)?

‘true’:

‘false’;

echoempty($a8)?

‘true’:

‘false’;

?

>

3.写出如下程序的输出结果

$test=‘aaaaaa’;

$abc=&$test;

unset($test);

echo$abc;

?

>

4.写出如下程序的输出结果

$count=5;

functionget_count(){

static$count=0;

return$count++;

}

echo$count;

++$count;

echoget_count();

echoget_count();

?

>

5.写出如下程序的输出结果

$GLOBALS['var1']=5;

$var2=1;

functionget_value(){

global$var2;

$var1=0;

return$var2++;

}

get_value();

echo$var1;

echo$var2;

?

>

6.写出如下程序的输出结果

functionget_arr($arr){

unset($arr[0]);

}

$arr1=array(1,2);

$arr2=array(1,2);

get_arr(&$arr1);

get_arr($arr2);

echocount($arr1);

echocount($arr2);

?

>

7.使用五种以上方式获取一个文件的扩展名

要求:

dir/upload.image.jpg,找出.jpg或者jpg,

必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如get_ext1($file_name),get_ext2($file_name)

二、算法题

1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组

2.使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组

3.写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数

【附答案】(以下答案不一定是最好的,只是一个简单的参考)

一、基础题

1.相等相等不相等

2.truetruetruetruetruefalsetruefalse

3.aaaaaa

4.501

5.52

6.12

7.使用五种以上方式获取一个文件的扩展名

functionget_ext1($file_name){

returnstrrchr($file_name,‘.’);

}

functionget_ext2($file_name){

returnsubstr($file_name,strrpos($file_name,‘.’));

}

functionget_ext3($file_name){

returnarray_pop(explode(‘.’,$file_name));

}

functionget_ext4($file_name){

$p=pathinfo($file_name);

return$p['extension'];

}

functionget_ext5($file_name){

returnstrrev(substr(strrev($file_name),0,strpos(strrev($file_name),‘.’)));

}

二、算法题

1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组

//冒泡排序(数组排序)

functionbubble_sort($array)

{

$count=count($array);

if($count<=0)returnfalse;

for($i=0;$i<$count;$i++){

for($j=$count-1;$j>$i;$j–){

if($array[$j]<$array[$j-1]){

$tmp=$array[$j];

$array[$j]=$array[$j-1];

$array[$j-1]=$tmp;

}

}

}

return$array;

}

//快速排序(数组排序)

functionquick_sort($array){

if(count($array)<=1)return$array;

$key=$array[0];

$left_arr=array();

$right_arr=array();

for($i=1;$i

if($array[$i]<=$key)

$left_arr[]=$array[$i];

else

$right_arr[]=$array[$i];

}

$left_arr=quick_sort($left_arr);

$right_arr=quick_sort($right_arr);

returnarray_merge($left_arr,array($key),$right_arr);

}

2.使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组

//二分查找(数组里查找某个元素)

functionbin_sch($array,$low,$high,$k){

if($low<=$high){

$mid=intval(($low+$high)/2);

if($array[$mid]==$k){

return$mid;

}elseif($k<$array[$mid]){

returnbin_sch($array,$low,$mid-1,$k);

}else{

returnbin_sch($array,$mid+1,$high,$k);

}

}

return-1;

}

//顺序查找(数组里查找某个元素)

functionseq_sch($array,$n,$k){

$array[$n]=$k;

for($i=0;$i<$n;$i++){

if($array[$i]==$k){

break;

}

}

if($i<$n){

return$i;

}else{

return-1;

}

}

3.写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数

//二维数组排序,$arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序

functionarray_sort($arr,$keys,$order=0){

if(!

is_array($arr)){

returnfalse;

}

$keysvalue=array();

foreach($arras$key=>$val){

$keysvalue[$key]=$val[$keys];

}

if($order==0){

asort($keysvalue);

}else{

arsort($keysvalue);

}

reset($keysvalue);

foreach($keysvalueas$key=>$vals){

$keysort[$key]=$key;

}

$new_array=array();

foreach($keysortas$key=>$val){

$new_array[$key]=$arr[$val];

}

return$new_array;

}

一份php面试题(附答案)

2007-06-2510:

36

考的很基础,但基础不牢,有一批不会做。

像在HTTP1.0中,状态码401的含义,error_reporting(2047)这些不知道。

但用2047似乎有点儿变态,太不易读。

如果可以参考手册~~~~

*1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量

(1)中;而链接到当前页面的URL记录在预定义变量

(2)中。

2.执行程序段

phpecho8%(-2)?

>将输出(3)。

3.在HTTP1.0中,状态码401的含义是(4);如果返回“找不到文件”的提示,则可用header函数,其语句为(5)。

4.数组函数arsort的作用是(6);语句error_reporting(2047)的作用是(7)。

5.PEAR中的数据库连接字符串格式是(8)。

6.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):

(9)。

7.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句(10)动态装载PHP模块,

然后再用语句(11)使得Apache把所有扩展名为php的文件都作为PHP脚本处理。

8.语句include和require都能把另外一个文件包含到当前文件中,它们的区别是(12);为了避免多次包含同一文件,可以用语句(13)来代替它们。

9.类的属性可以序列化后保存到session中,从而以后可以恢复整个类,这要用到的函数是(14)。

10.一个函数的参数不能是对变量的引用,除非在php.ini中把(15)设为on.

11.SQL中LEFTJOIN的含义是(16)。

如果tbl_user记录了学生的姓名(name)和学号(ID),

tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),

要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句(17)。

12.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须(18)。

13.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

14.简述论坛中无限分类的实现原理。

15.设计一个网页,使得打开它时弹出一个全屏的窗口,该窗口中有一个文本框和一个按钮。

用户在文本框中输入信息后点击按钮就可以把窗口关闭,而输入的信息却在主网页中显示。

//答案(填空):

1.echo$_SERVER['PHP_SELF'];echo$_SERVER["HTTP_REFERER"];

2.0

3.(4)未授权(5)header(“HTTP/1.0404NotFound”);

4.(6)对数组进行逆向排序并保持索引关系  (7)Allerrorsandwarnings

5.没弄明白

6./].*?

>.*?

<\/script>/si

7.(10)  LoadModule    php5_module“D:

/xampp/apache/bin/php5apache2.dll”

(11)AddTypeapplication/x-httpd-php-source.phps

AddTypeapplication/x-httpd-php.php.php5.php4.php3.phtml

8.(12)发生异常时include产生警告require产生致命错误  (13)require_once()/include_once()

9.serialize()/unserialize()

10.allow_call_time_pass_reference

11.(16)自然左外连接

(17)selectname,count(score)assum_scorefromtbl_userleftjointbl_scoreontbl_user.ID=tbl_score.ID  groupbytbl_user.ID

12.结束标识符所在的行不能包含任何其它字符除”;”

13.

/**

*遍历目录,结果存入数组。

支持php4及以上。

php5以后可用scandir()函数代替while循环。

*@paramstring$dir

*@returnarray

*/

functionmy_scandir($dir)

{

$files=array();

if($handle=opendir($dir)){

while(($file=readdir($handle))!

==false){

if($file!

=“..”&&$file!

=“.”){

if(is_dir($dir.“/”.$file)){

$files[$file]=rec_scandir($dir.“/”.$file);

}else{

$files[]=$file;

}

}

}

closedir($handle);

return$files;

}

}

转自:

http:

//www.blags.org/php-word-mianshi/

<三>

1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量

(1)中;而链接到当前页面的的前一页面URL记录在预定义变量

(2)中

php

//本页地址,SCRIPT_NAME也可以:

php/test.php

echo$_SERVER['PHP_SELF'].”
”;

//链接到当前页面的前一页面的URL地址:

echo$_SERVER['HTTP_REFERER'].”
”;

//其它的见参考手册:

语言参考》变量》预定义变量

//前执行脚本的绝对路径名:

D:

Inetpubwwwrootphpest.php

echo$_SERVER["SCRIPT_FILENAME"].”
”;

//正在浏览当前页面用户的IP地址:

127.0.0.1

echo$_SERVER["REMOTE_ADDR"].”
”;

//查询(query)的字符串(URL中第一个问号?

之后的内容):

id=1&bi=2

echo$_SERVER["QUERY_STRING"].”
”;

//当前运行脚本所在的文档根目录:

d:

inetpubwwwroot

echo$_SERVER["DOCUMENT_ROOT"].”
”;

?

>

2.执行程序段

phpecho8%(-2)?

>将输出__。

php

//参考手册》语言参考》运算符》算术运算符》%为取模运算,输出0

echo8%(-2).”
”;

//取模$a%$b在$a为负值时的结果也是负值。

输出-2

echo((-8)%3).”
”;

//输出2

echo(8%(-3)).”
”;

?

>

3.在HTTP1.0中,状态码401的含义是____;如果返回“找不到文件”的提示,则可用header函数,其语句为____。

答:

401表示未授权;header(“HTTP/1.0404NotFound”);[见参考手册》函数参考》HTTP函数》header]

4.数组函数arsort的作用是____;语句error_reporting(2047)的作用是____。

答:

arsort:

对数组进行逆向排序并保持索引关系error_reporting(2047)的作用是:

reportAllerrorsandwarnings

5.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):

php

$script=”以下内容不显示:

alert(‘cc’);”;

echopreg_replace(“/].*?

>.*?

/si”,“替换内容”,$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

ID                            int                            notnull,

name                          varchar(50)                    notnull,

primarykey(ID)

);

createtabletbl_score

ID                            int                            notnull,

score                          dec(6,2)                      notnull,

subject                        varchar(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)assumscore

fromtbl_userAleftjointbl_scoreB

onA.ID=B.ID

groupbyA.id

10.  在PHP中,heredoc是一种特殊的字符串,它的结束标志必须____

答:

结束标识符所在的行不能包含任何其它字符除”;”

11.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

php

functionmy_scandir($dir)

{

$files=array();

if(is_dir($dir))

{

if($handle=opendir($dir))

{

while(($file=readdir($handle))!

==false)

{

if($file!

=”.”&&$file!

=”..”)

{

if(is_dir($dir.”/”.$file))

{

$files[$file]=my_scandir($dir.”/”.$file);

}

else

{

$files[]=$dir.”/”.$file;

}

}

}

closedir($handle);

return$files;

}

}

}

print_r(my_scandir(“D:

ProgramFilesInternetExplorerMUI”));

?

>

 

<四>

1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量

(1)中;而链接到当前页面的的前一页面URL记录在预定义变量

(2)中

php

//本页地址,SCRIPT_NAME也可以:

php/test.php

echo$_SERVER['PHP_SELF']."
";

//链接到当前页面的前一页面的URL地址:

echo$_SERVER['HTTP_REFERER']."
";

//其它的见参考手册:

语言参考》变量》预定义变量

//前执行脚本的绝

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2