php笔试题.docx

上传人:b****4 文档编号:5466554 上传时间:2022-12-16 格式:DOCX 页数:12 大小:18.48KB
下载 相关 举报
php笔试题.docx_第1页
第1页 / 共12页
php笔试题.docx_第2页
第2页 / 共12页
php笔试题.docx_第3页
第3页 / 共12页
php笔试题.docx_第4页
第4页 / 共12页
php笔试题.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

php笔试题.docx

《php笔试题.docx》由会员分享,可在线阅读,更多相关《php笔试题.docx(12页珍藏版)》请在冰豆网上搜索。

php笔试题.docx

php笔试题

php笔试题

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面试题(附答案)-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;

  }

 

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1