PHP面试题及答案二

2023-07-06   


1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的的前一页面URL记录在预定义变量(2)中
  
   //本页地址,SCRIPT_NAME也可以:php/test.php
   echo $_SERVER[\PHP_SELF\]."
   “;
   //链接到当前页面的前一页面的 URL 地址:
   echo $_SERVER[\HTTP_REFERER\].”
   “;
  
   //其它的见参考手册:语言参考》变量》预定义变量
   //前执行脚本的绝对路径名:D:Inetpubwwwrootphp est.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.执行程序段将输出__。
  
   //参考手册》语言参考》运算符》算术运算符》%为取模运算,输出0
   echo 8%(-2)."
   “;
   //取模 $a % $b 在 $a 为负值时的结果也是负值。输出-2
   echo ((-8)%3).”
   “;
   //输出2
   echo (8%(-3)).”
   “;
   ?>
  
   3.在HTTP 1.0中,状态码 401 的含义是____;如果返回“找不到文件”的提示,则可用 header 函数,其语句为____。
  
   答:401表示未授权;header(“HTTP/1.0 404 Not Found”);[见参考手册》函数参考》HTTP函数》header]
  
   4.数组函数 arsort 的作用是____;语句 error_reporting(2047)的作用是____。
  
   答:arsort:对数组进行逆向排序并保持索引关系 error_reporting(2047)的作用是:report All errors and warnings
  
   5.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):
  
   $script="以下内容不显示:";
   echo preg_replace("/].*?>.*?/si", "替换内容", $script);
   ?>
  
   6.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,
   然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。
   答:LoadModule php5_module "c:/php/php5apache2.dll";AddType application/x-httpd-php .php
  
   见参考手册》目录》II. 安装与配置》6. Windows 系统下的安装》Microsoft Windows 下的 Apache 2.0.x
  
   7.语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是____;为了避免多次包含同一文件,可以用语句____来代替它们。
   答:在如何处理失败时,include() 产生一个警告而 require() 则导致一个致命错误;require_once()/include_once()
  
   8.一个函数的参数不能是对变量的引用,除非在php.ini中把____设为on.
   答:allow_call_time_pass_reference boolean :是否启用在函数调用时强制参数被按照引用传递, 见参考手册》附录G
  
   9.SQL 中LEFT JOIN的含义是__,如果 tbl_user记录了学生的姓名(name)和学号(ID),
   tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句____.
  
   答:自然左外连接
  
   create database phpinterview;
   use phpinterview
   create table tbl_user
   (
   ID int not null,
   name varchar(50) not null,
   primary key (ID)
   );
   create table tbl_score
   (
   ID int not null,
   score dec(6,2) not null,
   subject varchar(20) not null
   );
  
   insert into tbl_user (ID, name) values (1, \beimu\);
   insert into tbl_user (ID, name) values (2, \aihui\);
   insert into tbl_score (ID, score, subject) values (1, 90, \语文\);
   insert into tbl_score (ID, score, subject) values (1, 80, \数学\);
   insert into tbl_score (ID, score, subject) values (2, 86, \数学\);
   insert into tbl_score (ID, score, subject) values (2, 96, \语文\);
  
   select A.id,sum(B.score) as sumscore
   from tbl_user A left join tbl_score B
   on A.ID=B.ID
   group by A.id
  
   10. 在PHP中,heredoc是一种特殊的字符串,它的结束标志必须____
   答:结束标识符所在的行不能包含任何其它字符除";"
  
   11.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
  
   function my_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:Program FilesInternet ExplorerMUI"));
   ?>


相关内容:

  1. 比较基础的php面试题及答案-编程题
  2. PHP面试题及答案一
  3. 比较基础的php面试题及答案-填空题
  4. 会计面试题及答案
  5. 中国人民银行招聘面试测评题及题目解析(二)
  6. 小升初英语面试题及答案