03776,专注php入门案例

 找回密码
 免费注册

QQ登录

只需一步,快速开始

搜索
热搜: 验证码
查看: 2014|回复: 0

PHP、mysql面试题 (附答案+实现代码)

[复制链接]

61

主题

0

好友

317

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2012-11-22 20:30:01 |显示全部楼层
1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的的前一页面URL记录在预定义变量(2)中
  1. <?php
  2. //本页地址,SCRIPT_NAME也可以:php/test.php
  3. echo $_SERVER['PHP_SELF']."
  4. ";
  5. //链接到当前页面的前一页面的 URL 地址:
  6. echo $_SERVER['HTTP_REFERER']."
  7. ";

  8. //其它的见参考手册:语言参考》变量》预定义变量
  9. //前执行脚本的绝对路径名:D:Inetpubwwwrootphp est.php
  10. echo $_SERVER["SCRIPT_FILENAME"]."
  11. ";
  12. //正在浏览当前页面用户的 IP 地址:127.0.0.1
  13. echo $_SERVER["REMOTE_ADDR"]."
  14. ";
  15. //查询(query)的字符串(URL 中第一个问号 ? 之后的内容):id=1&bi=2
  16. echo $_SERVER["QUERY_STRING"]."
  17. ";
  18. //当前运行脚本所在的文档根目录:d:inetpubwwwroot
  19. echo $_SERVER["DOCUMENT_ROOT"]."
  20. ";
  21. ?>
复制代码
2.执行程序段<?php echo 8%(-2) ?>将输出__。
  1. <?php
  2. //参考手册》语言参考》运算符》算术运算符》%为取模运算,输出0
  3. echo 8%(-2)."
  4. ";
  5. //取模 $a % $b 在 $a 为负值时的结果也是负值。输出-2
  6. echo ((-8)%3)."
  7. ";
  8. //输出2
  9. echo (8%(-3))."
  10. ";
  11. ?>
复制代码

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标记及其内容都去掉):

  1. <?php
  2. $script="以下内容不显示:<script language='javascript'>alert('cc');</script>";
  3. echo preg_replace("/<script[^>].*?>.*?</script>/si", "替换内容", $script);
  4. ?>
复制代码

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语句____.

答:自然左外连接

  1. create database phpinterview;
  2. use phpinterview
  3. create table tbl_user
  4. (
  5.     ID                             int                            not null,
  6.     name                           varchar(50)                    not null,
  7.    primary key (ID)
  8. );
  9. create table tbl_score
  10. (
  11.     ID                             int                            not null,
  12.     score                          dec(6,2)                       not null,
  13.     subject                        varchar(20)                    not null
  14. );

  15. insert into tbl_user (ID, name) values (1, 'beimu');
  16. insert into tbl_user (ID, name) values (2, 'aihui');
  17. insert into tbl_score (ID, score, subject) values (1, 90, '语文');
  18. insert into tbl_score (ID, score, subject) values (1, 80, '数学');
  19. insert into tbl_score (ID, score, subject) values (2, 86, '数学');
  20. insert into tbl_score (ID, score, subject) values (2, 96, '语文');

  21. select A.id,sum(B.score) as sumscore
  22. from tbl_user A left join tbl_score B
  23. on A.ID=B.ID
  24. group by A.id
复制代码

10. 在PHP中,heredoc是一种特殊的字符串,它的结束标志必须____
答:结束标识符所在的行不能包含任何其它字符除";"

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

  1. <?php
  2. function my_scandir($dir)
  3. {
  4.     $files=array();
  5.     if(is_dir($dir))
  6.      {
  7.         if($handle=opendir($dir))
  8.          {
  9.             while(($file=readdir($handle))!==false)
  10.              {
  11.                 if($file!="." && $file!="..")
  12.                  {
  13.                     if(is_dir($dir."/".$file))
  14.                      {
  15.                         $files[$file]=my_scandir($dir."/".$file);
  16.                      }
  17.                     else
  18.                      {
  19.                         $files[]=$dir."/".$file;
  20.                      }
  21.                  }
  22.              }
  23.             closedir($handle);
  24.             return $files;
  25.          }        
  26.      }   
  27. }
  28. print_r(my_scandir("D:Program FilesInternet ExplorerMUI"));
  29. ?>
复制代码
李小龙:“I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.”
(我不怕遇到练习过10000种腿法的对手,但害怕遇到只将一种腿法练习10000次的强敌。)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

手机版|在博客与论坛间短暂徘徊ing……

GMT+8, 2017-11-24 02:41 , Processed in 0.055114 second(s), 26 queries .

强劲动力 Discuz! X3.0 Beta

© 2012-2115 03776.CN

回顶部