php面试题及答案

时间:2024-12-20 16:40:02 晓凤 学人智库 我要投稿

php常用面试题及答案2套

  无论是在学习还是在工作中,我们经常接触到试题,试题可以帮助主办方了解考生某方面的知识或技能状况。你知道什么样的试题才是规范的吗?下面是小编帮大家整理的php常用面试题及答案,供大家参考借鉴,希望可以帮助到有需要的朋友。

php常用面试题及答案2套

  php面试题及答案 1

  1、谈对mvc的认识?

  答:由模型(Model),视图(View),控制器(Controller)完成的应用程序

  由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;

  2、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)

  答:SELECT * FROM `members` ORDER BY posts DESC limit 0,10;

  3、GD库是做什么用的?

  答:gd库提供了一系列用来处理图片的功能,使用GD库可以处理图片,或者生成图片。

  在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。

  4、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么别?

  答:int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串

  char的场地固定为创建表设置的长度,varchar为可变长度的字符

  5、以下程序的输出结果?

  $b=201;

  $c=40;

  $a=$b>$c?4:5;

  echo $a;

  

  答:4

  6、检测一个变量是否有设置的函数是?是否为空的函数是?

  答:isset($str),empty($str);

  7、得查询结果集总数的函数是?

  答:mysql_num_rows($result);

  8、$arr = array(‘james’, ‘tom’, ‘symfony’); 请打印出第一个元素的值?

  答:echo $arr[0];

  9、===”是什么?试举一个“==”是真但“===”是假的例子。

  “===”是既可以返回布尔值“假”,也可以返回一个不是布尔值但却可以赋与“假”值的函式,strpos() 和 strrpos() 便是其中两个例子。

  if (strpos("abc", "a") == true){ // 这部分永不会被执行,因为 "a" 的位置是 0,换算成布尔值“假”}if (strpos("abc", "a") === true){ // 这部份会被执行,因为“===”保证函式 strpos() 的送回值不会换算成布尔值.}

  10、以下程序的输出结果

  $str=“cd”;

  $$str=“hotdog”;

  $$str.=“ok”;

  echo $cd;

  

  答案:hotdogok

  11、给你三个数,写程序求出其最大值。

  $var1=1;

  $var2=7;

  $var3=8;

  $max=$var1>$var2?$var1:$var2;

  $max=$max>$var3?$max:$var3;

  echo $max;

  12、将一个选择2号选项的ip为127.0.0.1的用户在当前时间的投票记录到数据库的SQL

  答: into poll (ip,time,iid) values(127.0.0.1,now(),2);

  13、个函数验证电子邮件的格式是否正确 ?

  答:function checkEmail($email)

  {

  $pregEmail = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";

  return preg_match($pregEmail,$email);

  }

  14、表 menu(mainmenu,submenu,url),请用递归法写出一树形菜单,将所有的menu列出来

  function GenerateMenu($id=0,$str="")

  {

  $result=mysql_query("select mainmenu,url,submenu from menu where mainmenu=$id");

  while($row=mysql_fetch_array($result))

  {

  echo $str.$row["url"]."

  ";

  GenerateMenu($row["submenu"],$str."--");

  }

  mysql_free_result($result);

  }

  $link=mysql_connect("localhost","root","");

  mysql_select_db("phpinterview");

  GenerateMenu();

  mysql_close($link)

  

  15、PHP可以和sql server/oracle等数据库连接吗?

  答:可以

  16、写出PHP5权限控制修饰符?

  答:public(公共),private(私用),protected(继承)

  17、请写出php5的构造函数和析构函数?

  答: 构造函数:官方称自定义函数

  析构函数:垃圾回收函数(__destruct)

  18、表单中 get与post提交方法的区别?

  答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.

  19、session与cookie的区别?

  答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放

  cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的`。

  两者都可通过时间来设置时间长短

  20、用PHP打印出前一天的时间格式是2010-7-3 12:28:21?

  答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’));

  21、e2ho(),print(),print_r()的区别?

  答:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)

  print() 只能打印出简单类型变量的值(如int,string)

  print_r() 可以打印出复杂类型变量的值(如数组,对象)

  echo 输出一个或者多个字符串

  22、能够使HTML和PHP分离开使用的模板?

  答:Smarty, TinyButStrong,XTemplate, Savant,Template Lite, Dwoo, phemplate

  23、哪些工具进行版本控制?

  答:cvs,svn,vss;

  24、如何实现字符串翻转?

  答:echo strrev($a); //strrev — 颠倒字符串

  25、优化查询语句?

  a.最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作

  例子1:

  SELECT * FROM order WHERE YEAR(orderDate)<2008;(慢)

  SELECT * FROM order WHERE orderDate<"2008-01-01";(快)

  例子2:

  SELECT * FROM order WHERE addtime/7<24;(慢)

  SELECT * FROM order WHERE addtime<24*7;(快)

  例子3:

  SELECT * FROM order WHERE title like "%good%";

  SELECT * FROM order WHERE title>=”good” and name<"good";

  26、对于大流量的网站,您采用什么样的方法来解决访问量问题?

  答:确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表,

  程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量

  27、如何修改SESSION的生存时间?.

  答:方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache

  方法2:$savePath = “./session_save_dir/”;

  $lifeTime = 小时 * 秒;

  session_save_path($savePath);

  session_set_cookie_params($lifeTime);

  session_start();

  方法3:setcookie() and session_set_cookie_params($lifeTime);

  28、有一个网页地址, 比如PHP开发资源网主页: https://www.php100.com/,如何得到它的内容?

  答:方法1(对于PHP5及更高版本):

  $readcontents = fopen(“https://www.php100.com/”, “rb”);

  $contents = stream_get_contents($readcontents);// stream_get_contents 取得字符串赋值给$contents

  fclose($readcontents);

  echo $contents;

  方法2:

  echo file_get_contents(“https://www.php100.com/”);

  // file_get_contents() 函数把整个文件读入一个字符串中。

  29、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为?

  答:状态401代表未被授权,header(“Location:www.xxx.php”);

  30、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?

  答:heredoc的语法是用”<<<"加上自己定义成对的标签,在标签范围內的文字视为一个字串

  例子:

  $str = <<

  my name is Jiang Qihui!

  SHOW;

  31、foo()和@foo()之间有什么区别?

  答:@foo()控制错误输出

  32、如何声明一个名为”myclass”的没有方法和属性的类?

  答:class myclass{ }

  33、如何实例化一个名为”myclass”的对象?

  答:new myclass()

  34、你如何访问和设置一个类的属性?

  答:$object = new myclass();

  $newstr = $object->test;

  $object->test = “info”;

  35、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?

  答:mysql_fetch_row是从结果集取出1行数组,作为枚举

  mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得

  36、下面哪个函数可以打开一个文件,以对文件进行读和写操作?

  (a) fget() (b) file_open() (c) fopen() (d) open_file()

  答:c

  37、下面的程序会输入是否?

  $num = 10;

  function multiply(){

  $num = $num * 10;

  }

  multiply();

  echo $num;

  

  否,局部变量

  38、JS表单弹出对话框函数是?获得输入焦点函数是?

  答:弹出对话框: alert(),prompt(),confirm()

  获得输入焦点 focus()

  39、JS的转向函数是?怎么引入一个外部JS文件?

  答:window.location.href;

  40、$a = ‘abcdef’; 请取出$a的值并打印出第一个字母?

  答:echo $a{0} 或 echo substr($a,0,1)

  41、如何使用下面的类,并解释下面什么意思?

  class test{

  function Get_test($num){

  $num=md5(md5($num).”En”);

  return $num;

  } }

  双重md5加密

  $testObject = new test();

  $encryption = $testObject->Get_test(“xiaotian_ls”);

  42、请举例说明在你的开发过程中用什么方法来加快页面的加载速

  答:要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引,页面可生成静态,图片等大文件单独服务器。使用代码优化工具啦

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

  $script="以下内容不显示:alert(‘cc’);";

  echo preg_replace("/].*.*?/si", "替换内容", $script);

  

  44、以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。

  答:LoadModule

  php5_module

  "c:/php/php5apache2.dll";AddType application/x-httpd-php .php

  45、sort()、asort()、和 ksort() 有什么分别?它们分别在什么情况下使用?

  sort()

  根据阵列中元素的值,以英文字母顺序排序,索引键会由 0 到 n-1 重新编号。主要是当阵列索引键的值无关疼痒时用来把阵列排序。

  asort()

  与 sort() 一样把阵列的元素按英文字母顺序来排列,不同的是所有索引键都获得保留,特别适合替联想阵列排序。

  ksort()

  根据阵列中索引键的值,以英文字母顺序排序,特别适合用于希望把索引键排序的联想阵列。

  46、用PHP写出显示客户端IP与服务器IP的代码?

  答:打印客户端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv(REMOTE_ADDR);//getenv取得开发环境变量

  打印服务器IP:echo gethostbyname("www.bolaiwu.com") // gethostbyname取得IP地址函数

  47、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?

  答:require->require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require

  include->include有返回值,而require没有(可能因为如此require的速度比include快)

  注意:包含文件不存在或者语法错误的时候require是致命的,include不是

  48、PHP的意思?

  答:PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页

  49、谈谈asp,php,jsp的优缺点?

  答:ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script)作为自己的开发语言。

  PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(https://www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

  JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

  三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下,HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。

  50、 优化MYSQL数据库的方法

  (1).选取最适用的字段属性,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。

  (2).使用连接(JOIN)来代替子查询(Sub-Queries)

  (3).尽量少使用 LIKE 关键字和通配符

  php面试题及答案 2

  1、简述静态网页和动态网页的区别,从文件扩展名、使用技术、表现形式、执行位置等进行阐述

  答案:

  2、简述如何搭建PHP程序的环境

  答案:

  3、简述PHP语言中,流程控制的分类,及几种代表语句。

  答案:

  4、简述表单提交过程中,get和post方式的区别

  答案:

  5、简述session机制的原理

  答案:

  6、如何在php程序中启动session

  答案:

  7、代码如下

  $arr=array("I","am","a","student");

  $whole=implode(_,$arr);

  echo $whole;

  代码输出的结果是:

  答案:

  8、代码如下

  $color=imagecolorallocate($img,0,0,255);

  代码实现的功能:

  答案:

  9、代码如下:

  echo "今天是".date(Y年n月j日);

  $w=date(w);

  $week=array(星期日,星期一,星期二,星期三,星期四,星期五,星期六);

  echo $week[$w];

  代码实现的功能:

  输出今天的日期和是周几

  输出的内容是(按考试的日期来输出即可):

  2021/12/21星期二

  答案:

  10、代码如下:

  $pageno=isset($_GET[pageno])?$_GET[pageno]:1;

  代码实现的功能:

  答案:

  11、php的源码是

  A、开放的

  B、封闭的

  C、需购买的

  D、完全不可见的

  答案:A

  12、静态网页的执行在浏览器端完成,动态网页的执行在服务器端完成

  答案:正确

  13、动态页面中不可以出现html、css和javaScript的代码

  答案:错误

  14、服务器收到客户发出的静态页面请求之后,只把该页面文件发送给客户浏览器来执行

  答案:错误

  15、存放在任意文件夹中的php文件都可以通过localhost/…方式来执行

  答案:错误

  16、搭建PHP环境时要先安装php,再安装apache服务器

  答案:错误

  17、apache服务默认占用80号端口,不可更改

  答案:错误

  18、下面哪项不属于静态网页设计中使用的核心技术

  A、HTML

  B、DreamWeaver

  C、CSS

  D、Javascript

  答案:B

  19、下面哪组中列举的技术都属于动态网页设计时使用的核心技术

  A、ASP、JSP、SSP

  B、JSP、XHTML、PHP

  C、JSP、PHP、ASP

  D、PHP、ASP、Javascript

  答案:C

  20、动态网页与静态网页的本质区别是

  A、静态页面运行后能够查看所有的源代码,动态页面中动态部分源代码则无法查看

  B、静态网页任何时候运行内容都相同,动态页面则不然

  C、动态页面是在服务器端执行的,而静态页面是在浏览器端执行的

  D、静态页面中可以包含各种小动画,动态页面不可以

  答案:C

  21、下面各种说法中错误的是

  A、在动态页面中可以包含大量的静态代码

  B、使用静态页面技术可以实现动态变化的时钟效果

  C、动态页面的运行过程通常会包含在服务器端的执行过程和在浏览器端的执行过程两个阶段

  D、浏览器请求执行一个静态页面时,服务器先把页面文件执行完毕,然后将结果传递到浏览器端显示

  答案:D

  22、下面关于PHP的说法错误的是

  A、PHP是一种服务器端的脚本

  B、PHP程序可以在任意环境中执行

  C、在PHP文件中可以包含任意的HTML代码和样式的应用

  D、使用PHP可以实现注册、登录、在线投票、访客计数等动态页面中需要的各种功能

  答案:B

  23、若PHP文件中包含html代码,下面描述中正确的是

  A、服务器将整个php文件发送给浏览器执行

  B、服务器将所有代码执行后将结果送给浏览器

  C、服务器执行html代码后将执行结果和php代码一起送给浏览器

  D、服务器执行php代码后,将指向结果和html代码一起送给浏览器

  答案:D

  24、下面哪组是PHP支持的服务器环境

  A、Apache和pws

  B、Apache、IIS和pws

  C、Apache和IIS

  D、只有Apache

  答案:C

  25、若是系统中已经存在了IIS服务,且占用了80端口号,则下面说法正确的是

  A、Apache能够成功安装,但是无法启用,只需要修改端口号即可启用

  B、Apache无法完成安装过程

  C、Apache能够成功安装,且能正常启用

  D、以上说法都不正确

  答案:A

  26、下面关于Apache主目录说法错误的是

  A、安装Apache之后,必须要将页面文件放在其主目录下才能正常运行

  B、安装Apache之后,系统会给其指定默认的主目录

  C、Apache的主目录不能随意修改

  D、用户可以根据需要修改Apache主目录

  答案:C

  27、搭建apache web服务器(使用phpstduy)之后,默认情况下运行文件时的localhost对应哪个文件夹?

  A、apache

  B、htdocs

  C、www

  D、htdoc

  答案:C

  28、运行文件时的localhost可以使用哪个IP地址取代?

  A、192.168.0.1

  B、128.0.0.1

  C、127.0.0.1

  D、126.0.0.1

  答案:C

  29、若主机A的计算机名称是jsj-stu1,其主目录中存有文件page1.php,在主机B中要运行主机A的该文件,地址栏中输入的URL是

  A、http://localhost/page1.php

  B、http://127.0.0.1/page1.php

  C、http://localhost/jsj-stu1/page1.php

  D、http://jsj-stu1/page1.php

  答案:D

  30、小明坐在电脑前访问搜狐网站,此时小明的电脑是:( )

  A、客户端

  B、服务器

  C、既作为客户端又作为服务器

  D、都不是

  答案:A

  31、QQ属于以下哪种结构的软件: ( )

  A、B/S

  B、C/S

  C、Ajax

  D、单机软件

  答案:B

  32、如果Apache的网站主目录是E:eshop,要运行E:eshopabcqbas.php文件,则应在浏览器地址栏中输入____,如果E:eshop是虚拟目录eshop,则要运行E:eshopty.php文件,应在浏览器地址栏中输入____。

  答案:http://localhost/abc/qb/as.php;http://localhost/eshop/ty.php;

  33、PHP文件中可包含____、____、____三部分的代码。

  答案:PHP脚本;HTML代码;JavaScript;

  34、以下哪种技术不是服务器端动态网页技术( )

  A、PHP

  B、JSP

  C、ASP.NET

  D、Ajax

  答案:D

  35、动态网站一般包括前台页面和后台管理程序,其中,前台页面的主要原理是( )

  A、修改记录

  B、添加记录

  C、显示记录

  D、删除记录

  答案:C

  36、浏览器向某个服务器发出页面请求时,无论请求的是静态页面还是动态页面,该请求一定要通过____协议发送出去。

  答案:http;

  37、PHP文件中可以包含html、css等静态页面的代码( )

  答案:正确

  38、Apache服务器的主目录只能是htdocs( )

  答案:错误

  39、PHP文件只能在apache服务器环境下运行( )

  答案:错误

  40、网页的本质是( )文件。

  A、图像

  B、纯文本

  C、可执行程序

  D、图像和文本的压缩

  答案:B

  41、PHP的配置文件是______

  A、php.ini

  B、php.conf

  C、httpd.ini

  D、httpd.conf

  答案:A

  42、下面关于Apache主目录说法错误的是_______

  A、安装Apache之后,必须要将页面文件放在其主目录下才能正常运行

  B、安装Apache之后,系统会给其指定默认的主目录

  C、Apache的主目录不能随意修改

  D、用户可以根据需要修改Apache主目录

  答案:C

  43、在浏览器地址栏中输入地址http://localhost/exam/up.php运行页面文件,在路径中与apache主目录相对应的部分是____,假设主目录是D:/PHP5,则exam文件夹所在的位置是____

  答案:localhost;d:/php5/exam;

  44、安装apache2.2.17和php5之后,默认情况下运行php文件时不显示代码中的错误提示( )

  答案:正确

  45、php可以使用“scanf”来打印输出结果

  答案:错误

  46、php中连接两个字符串的符号是“+ ”

  答案:错误

  47、php中布尔类型数据只有两个值:真和假

  答案:正确

  48、每个语句结尾都要加“;”来表示语句结束

  答案:正确

  49、php变量使用之前需要定义变量类型

  答案:错误

  50、在php中“==”的意思是“等于”

  答案:正确

  51、以下代码输出的结果为$a = "cc"; $cc = "dd"; echo $a=="cc"?"{$$a}":$a;

  A、cc

  B、$a

  C、$$a

  D、dd

  答案:D

  52、以下关于字符串的说法正确的是

  A、echo “hellonworld”;在页面可以实现换行

  B、echo ‘helloworld{$a}’;可以解析变量a的值

  C、$str="123"

  D、print $a,”hello”;可以输出数据不报错

  答案:C

  解析:

  53、php如何输出反斜杠

  A、n

  B、r

  C、t

  D、

  答案:D

  54、以下代码输出的结果是$a = 10; $b = &$a;取a echo $b; b也指向10 $b = 15; echo $a;

  A、1015

  B、1010

  C、1515

  D、1510

  答案:A

  55、以下代码输出的结果是$a = "aa"; $aa = "bb"; echo $$a;

  A、aa

  B、bb

  C、$aa

  D、$bb

  答案:B

  56、若x,y为整型数据,以下语句执行的$y结果为$x = 1; ++$x; $y =$x++;

  A、1

  B、2

  C、3

  D、0

  答案:B

  57、php中单引号和双引号包含字符串的区别正确的是

  A、单引号速度快,双引号速度慢

  B、双引号速度快,单引号速度慢

  C、单引号里面可以解析转义字符

  D、双引号里面可以解析变量

  答案:D

  58、php定义变量正确的是

  A、var a = 5

  B、$a = 10

  C、int b = 6

  D、var $a = 12

  答案:B

  59、php中哪个语句可以输出变量类型

  A、echo

  B、print

  C、var_dump()

  D、print_r()

  答案:C

  60、字符串"Hello"可以看做是一个包含5个元素的数组

  答案:正确

  61、下面哪一组是PHP5中的注释符号

  A、//、、/*...*/

  B、//、#、/*...*/

  C、、#、/*...*/

  D、//、#、/*

  答案:B

  62、下面哪一组是合法的PHP变量

  A、str1、_num1

  B、$5_str、$num1

  C、$str1、$_num1

  D、$str1、$_num1%

  答案:C

  63、假设存在变量$str1="abc",$str2="ABC",$num1=23,$num2=45,下面哪一组表达式的运算结果是假值

  A、$str1<$str2 && $num1<$num2

  B、$str1>$str2 && $num1<$num2

  C、$str1<$str2 || $num1<$num2

  D、$str1>$str2 || $num1>$num2

  答案:A

  64、下列哪个PHP变量的名称是错误的? ( )

  A、$This

  B、$s_Name

  C、$_if

  D、$5-zh

  答案:D

  65、单引号字符串和双引号字符串的区别是:____字符串中可包含变量。

  答案:双引号;

  66、对变量进行引用赋值时,引用的变量名前必须加____。

  答案:&;

  67、PHP的注释符是( )

  A、

  B、

  C、//

  D、<*>

  答案:C

  68、字符串$str=”abcdefg”是一个有7个元素,下标从1开始的数组( )

  答案:错误

  69、当把布尔值转换为整型时,true会转换成____,false转换成____。当把布尔值转换成字符串时,true会转换成____,false转换成____。

  答案:1;0;1;“”;

  70、下面哪一组是合法的PHP变量_______

  A、str1、$_num1

  B、$%_str、$num1

  C、$str1、$_num1

  D、$str1、$_num1%

  答案:C

  71、PHP、CSS和JavaScript代码中共同的注释符号是_________

  A、//

  B、/*…*/

  C、#

  D、‘

  答案:B

  72、while和do-while语句都是先判断条件再执行循环体

  答案:错误

  73、“break ”代表的意思是跳出循环

  答案:正确

  74、分支语句if($num=6){…}条件永远为真

  答案:正确

  75、代码块$i=1;$sum=0;while($i<=10){$i++;$sum+=$i;}的执行结果是

  A、65

  B、55

  C、54

  D、66

  答案:A

  76、在date()函数中,能够得到星期几的数字值的参数是

  A、W

  B、w

  C、D

  D、以上都不是

  答案:B

  77、关于循环结构,下列说法中错误的是

  A、for()括号中需要三个表达式

  B、while循环至少需要执行一次

  C、do while循环至少需要执行一次

  D、for循环的循环变量有可能只是用于控制循环次数,并不参与循环体的`执行过程

  答案:B

  78、语句“for($k=0;$k=1;$k++);”和语句“for($k=0;$k= =1;$k++);”的执行次数分别是: ( )

  A、都是无限次

  B、都是0

  C、无限次和0

  D、0和无限次

  答案:C

  79、如果要提前离开for循环,可以使用下面哪个语句( )

  A、pause

  B、return

  C、exit

  D、break

  答案:D

  80、对于for($i=100; $i<=200; $i+=3),循环运行结束后,变量$i的值是多少: ( )

  A、201

  B、202

  C、199

  D、198

  答案:B

  81、在switch结构中,每个case后面的代码需要使用____语句结束

  答案:break;

  82、php中以下能输出当前时间格式像:2016-5-6 13:10:56的是

  A、echo date(“Y-m-d H:i:s”)

  B、echo time()

  C、echo date()

  D、echo time(“Y-m-d H:i:s”)

  答案:A

  83、下列说法不正确的是

  A、list()函数可以写在等号左侧

  B、each()函数可以返回数组里面的下一个元素

  C、foreach()遍历数组的时候可以同时遍历出key和value

  D、for循环能够遍历关联数组

  答案:D

  84、下面程序运行结果$nextWeek = time() + (7 * 24 * 60 * 60); echo Now: . date(Y-m-d) ."n"; echo Next Week: . date(Y-m-d, $nextWeek) ."n";

  A、得到今天的日期(月-日)

  B、得到今天的日期(年-月-日)与下周的日期(年-月-日)

  C、得到现在的时间(小时-分-秒)

  D、得到现在到下周的时间间隔

  答案:B

  85、以下程序横线处应该使用的函数为:$email = ‘langwan@thizlinux.com.cn’; $str = ____($email,‘@’); $info = ____(‘.’,$str); ____($info);输出结果为:Array ([0] => @thizlinux [1]=>;com[2]=>;cn)

  A、strchr, split, var_dump

  B、strstr, explode, print_r

  C、strstr,explode, echo

  D、strchr, split, var,_dump

  答案:B

  86、以下代码运行结果为:$first = "This course is very easy !"; $second = explode(" ",$first); $first = implode(",", $second); echo $first;

  A、This,course,is,very,easy,!

  B、This course is very easy !

  C、This course is very easy !,

  D、提示错误

  答案:A

  87、php中关于字符串处理函数以下说法正确的是

  A、implode( )方法可以将字符串拆解为数组

  B、str_replace()可以替换指定位置的字符串

  C、substr( )可以截取字符串

  D、strlen( )不能取到字符串的长度

  答案:C

  88、range(0,100)用于产生0到100之间的随机数

  答案:错误

  89、代码explode(;,"a.doc;b.ppt;")结果是一个包含三个元素的数组,最后一个元素为空值

  答案:正确

  90、若系统日期时间是2017年12月6日9时12分,函数date("Y-m-d H:i")的返回值是

  A、17-12-6 9:12

  B、2017-12-6 09:12

  C、2017-12-06 9:12

  D、2017-12-06 09:12

  答案:D

  91、下面给定的date()函数的参数中,哪个与月份取值无关?

  A、n

  B、m

  C、M

  D、j

  答案:D

  92、若要输出“今天是2017年9月7日,Thu”,需要使用的代码是

  A、echo "今天是".date("Y年n月j日,D");

  B、echo "今天是".date("y年n月j日,D");

  C、echo "今天是".date("Y年m月d日,D");

  D、echo "今天是".date("y年m月d日,D");

  答案:A

  93、下列哪个函数可用来取得四舍五入的值( )

  A、ceil

  B、floor

  C、round

  D、abs

  答案:C

  94、下列哪个函数可以将数组中各个元素连接成字符串( )

  A、implode

  B、explode

  C、str_repeat

  D、str_pad

  答案:A

  95、echo count("abc");的输出结果是____。

  答案:3;

  96、下列哪个函数可用来取得不小于某数的最整小数值( )

  A、ceil

  B、floor

  C、round

  D、abs

  答案:A

  解析:

  97、下面哪个是JS脚本中产生随机数的函数_______

  A、rand()

  B、mt_rand()

  C、random()

  D、range()

  答案:C

  98、存在变量$str="abcd123",则count($str)和$str[3]结果分别是_________

  A、7 c

  B、6 d

  C、7 d

  D、1 1

  答案:C

  99、PHP中将大写字母转换为小写字母的函数是_____

  A、strtoUpper()

  B、strtoupper()

  C、strToLower()

  D、strtolower()

  答案:D

  100、函数rand(0,20)的作用是____

  答案:产生0-20之间的随机数;

  101、round(20/3,2)的结果是____;ceil(16/5)的结果是____。

  答案:6.67;4;

  102、合并一个数组各个元素值,使用的函数是____

  答案:implode();

  103、在php文件中获取数组元素个数的函数是________

  A、count

  B、length

  C、strlen

  D、counter

  答案:A

  104、分割某个字符串使用的函数是____

  答案:explode();

  105、函数implode()作用是合并指定数组的各个元素值,构成一个字符串( )

  答案:正确

  106、函数array()能够创建任意长度、任意类型取值的数组( )

  答案:正确

  107、使用函数count()可以统计字符串中字符的个数( )

  答案:正确

  108、代码round($_FILES[file1][size]/1024, 2)的作用是

  A、获取千字节为单位的文件长度值,并且保留2位整数

  B、获取千字节为单位的文件长度值,并且在四舍五入后保留两位小数

  C、获取千字节为单位的文件长度值,舍弃所有小数部分的数据

  D、以上说法都不正确

  答案:B

  109、定义数组$stu=array("刘东","女","18"),要得到结果“刘东,女,18”,使用的代码是

  A、explode(",",$stu)

  B、implode(",",$stu)

  C、explode($stu,",")

  D、implode($stu,",")

  答案:B

  110、判断表单密码元素psd的数据是否提交到服务器端的方法是

  A、if($_POST[psd]== )

  B、if(isset($_POST[psd]))

  C、if(Isset($_POST[psd]))

  D、if(Isset($_FILES[psd]))

  答案:A

  111、代码$str=explode(" ","How do you do?")执行之后,数组$str中元素的个数有

  A、3个

  B、4个

  C、5个

  D、6个

  答案:B

  112、函数array_merge()的作用是

  A、定义一个数组

  B、定义一个指定内容范围的数组

  C、将指定的多个数组合并为一个大数组

  D、以上说法都不正确

  答案:C

  113、使用include引用外部文件时,下列哪种做法是错误的

  A、include("zhuce.html")

  B、include"zhuce.html"

  C、include zhuce.html

  D、include zhuce.html

  答案:D

  114、PHP中将小写字母转换为大写字母的函数是

  A、strtoUpper()

  B、strtoupper()

  C、strToUpper()

  D、strToupper()

  答案:B

  115、获取0到100之间的随机数,代码是

  A、range(0,100)

  B、rang(0,100)

  C、rand(0,100)

  D、rande(0,100)

  答案:C

  116、函数md5()的说法中,错误的是

  A、任意两段不同的明文数据加密后,结果一定是不同的

  B、只能进行单向加密,不能逆向解密

  C、一段固定的明文数据,无论何时加密,结果都不变

  D、加密结果是32个字符的十进制数

  答案:D

  117、如果字符串$a="test",$b="es",对$a进行处理得到$b的方法是____。

  答案:substr($a,1,2);

  118、函数strpos("xxPPppXXpx","pp")的返回值是:____。

  答案:4;

  119、使用date()方法获取系统日期中2位月份取值时,需要使用的参数是______

  A、month

  B、M

  C、N

  D、m

  答案:D

  120、如果今天是星期四,要获取到日期中的信息“Thu”,需要使用的代码是____

  答案:date(‘D’);

  121、在PHP的配置文件中,设置时区的参数是______

  A、date_timezone

  B、date.timezone

  C、date_timezones

  D、date._timezones

  答案:B

  122、若系统日期时间是2016年12月6日9时12分,函数date("y-m-d H:i")的返回值是____

  A、16-12-6 9:12

  B、2016-12-6 09:12

  C、16-12-06 09:12

  D、2016-12-06 09:12

  答案:C

  解析:

  123、php中完成大小写转换的一对函数是_______

  A、strtoUpper, strtoLower

  B、strtoupper, strtolower

  C、Upper, Lower

  D、Ucase, Lcase

  答案:B

  124、存在php的字符串变量$str= “You are very butiful?”,要求将该串分割为4个子串,代码是__________

  A、explode(“ ”, $str)

  B、explode(“,”, $str)

  C、explode($str, “ ”)

  D、explode($str, “,”)

  答案:A

  125、在date()函数中,能够得到星期几的数字值的参数是_____

  A、W

  B、w

  C、D

  D、以上都不是

  答案:B

  126、php中获取系统当前日期时间的函数是____

  答案:getdate()或者date();

  127、使用round()函数能够获取随机数( )

  答案:错误

  128、若定义数组时省略关键字key,则第三个数组元素的关键字为3

  答案:错误

  129、以下说法正确的是

  A、$attr代表数组,那么数组长度可以通过$attr.length取到

  B、unset()方法不能删除数组里面的某个元素

  C、php的数组里面可以存储任意类型的数据

  D、php里面只有索引数组

  答案:C

  130、以下代码在页面上会输出多少行数据$attr = array(1,2,3,4); while(list($key,$value) = each($attr)) { echo $key."=>".$value."

  "; } while(list($key,$value) = each($attr)) { echo $key."=>".$value."

  "; }

  A、4

  B、6

  C、8

  D、12

  答案:A

  131、下面哪个选项没有将john添加到users数组中?

  A、$users[] = "john"

  B、array_add($users, "john")

  C、array_push($users, "john")

  D、$users [“aa”]= "john"

  答案:B

  132、以下代码输出的结果为"aa","1"=>"bb","2"=>"cc"); echo $attr[1];

  A、会报错!

  B、aa

  C、输出为空

  D、bb

  答案:D

  133、下列说法正确的是

  A、数组的下标必须为数字,且从“0”开始

  B、数组的下标可以是字符串

  C、数组中的元素类型必顺一致

  D、数组的下标必须是连续的

  答案:B

  134、关于数组元素的下标,下面说法中错误的是

  A、元素下标可以采用从0开始的递增的自然数列的方式

  B、元素的下标可以采用用户自定义的键名下标方式

  C、使用自定义键名下标的数组元素不能使用自然数作为下标进行访问

  D、任何情况下,都要将键名下标放在引号定界符中才能正确访问数组元素

  答案:D

  135、PHP中的数组,下面说法错误的是

  A、数组元素的个数可随意变化

  B、下标可以是数字下标或者键名下标

  C、一个数组的所有元素类型必须一致

  D、使用count()方法获取数组元素的个数

  答案:C

  136、在不定义索引值的情况下,PHP数组中第一个元素的索引是: ( )

  A、0

  B、1

  C、空字符串

  D、不一定

  答案:A

  137、下列哪一项可以用来访问数组的元素( )

  A、->

  B、=>

  C、()

  D、[]

  答案:B

  138、下列哪个数组不可以用来获取表单元素的值? ( )

  A、$_REQUEST[]

  B、$_POST[]

  C、$_GET[]

  D、$_SERVER[]

  答案:D

  139、数组是通过下列哪一项来区分它所存放的元素的? ( )

  A、长度

  B、值

  C、索引

  D、维度

  答案:C

  140、在PHP中,用来合并数组的方法是_________

  A、explode()

  B、array_merge()

  C、range()

  D、count()

  答案:B

  141、关于php中的数组,下面说法中错误的是_____

  A、有用户自定义数组和系统数组之分

  B、数组可以使用数字下标或键名下标

  C、一个数组中各个元素的数据类型可以不同

  D、使用array_merge()函数只能合并两个数组

  答案:D

  142、以下哪项不属于函数的四要素

  A、返回类型

  B、函数名

  C、参数列表

  D、访问修饰符

  答案:D

  143、下列定义函数的方式是正确的

  A、public void Show(){ }

  B、function Show($a=5,$b){ }

  C、function Show(a,b){ }

  D、functionShow(int $a){ }

  答案:B

  144、以下代码执行结果为$A="Hello "; functionprint_A() { $A = "phpmysql !!"; global $A; echo $A; } echo $A; print_A();

  A、Hello

  B、phpmysql !!

  C、Hello Hello

  D、Hello phpmysql !!

  答案:C

  145、以下代码执行结果为:functionprint_A(){ $A = "phpchina"; echo "A值为: ".$A."

  "; //return ($A); } $B = print_A(); echo "B值为: ".$B."

  ";

  A、A值为: B值为:

  B、A值为: B值为: phpchina

  C、A值为: phpchina B值为: phpchina

  D、A值为: phpchina B值为:

  答案:D

  146、implode()函数用于将给定的字符串按照指定的字符分割成一个个子串

  答案:错误

  147、函数ceil(21/4)结果为5

  答案:错误

  148、函数round(326.756,2)的结果是326.76

  答案:正确

  149、如果要让函数返回值,必须使用下列哪个关键词? ( )

  A、continue

  B、break

  C、exit

  D、return

  答案:D

  150、以下关于构造函数说法不正确的是

  A、研究一个类,首先我们要研究的函数是构造函数

  B、构造函数写法和普通函数没有区别

  C、构造函数执行比较特殊

  D、如果父类中存在构造函数并且需要参数,子类在造对象的时候也应该传入相应的参数

  答案:B

  151、以下关于多态的说法正确的是

  A、多态在每个对象调用方法时都会发生

  B、多态是由于子类里面定义了不同的函数而产生的

  C、多态的产生不需要条件

  D、当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在父类引用调用相应的函数的时候表现出的不同称为多态。

  答案:D

  152、关于面向对象的说法不正确的是

  A、OOP是面向对象的简称

  B、静态成员是属于类的

  C、普通成员是属于类的

  D、类里面的$this关键字代表该对象本身

  答案:C

  153、下列哪项不属于OOP的三大特性

  A、封装。

  B、重载。

  C、继承。

  D、多态。

  答案:B

  154、面向对象的三大特性中哪个不属于封装的做法

  A、将成员变为私有的

  B、将成员变为公有的

  C、封装方法来操作成员

  D、使用__get()和__set()方法来操作成员

  答案:B

  155、下面哪项描述是错误的?

  A、普通成员是属于对象的

  B、成员变量需要用public protected private修饰,在定义变量时不再需要var关键字

  C、静态成员是属于对象的

  D、包含抽象方法的类必须为抽象类,抽象类不能被实例化

  答案:C

  156、若是存在变量$age=25,下面哪项中的代码不能输出“My age is 25”

  A、echo "My age is ".$age;

  B、echo "My age is $age";

  C、echo My age is $age;

  D、echo "My age is "."$age";

  答案:C

  157、若存在代码$str="hello everyone!";echo $str[1];,输出结果是

  A、字符h

  B、空格

  C、没有结果

  D、字符e

  答案:D

  158、若是存在变量$name=’zhangling’,下面哪项中的代码不能输出“My name is zhangling”______

  A、echo "My name is ".$name;

  B、echo "My name is $name";

  C、echo My name is $name;

  D、echo "My name is "."$name";

  答案:C

  159、语句echo ‘$str

  ’在输出变量$str的内容之后换行( )

  答案:错误

  160、可以使用PHP的echo输出脚本代码( )

  答案:正确

  161、点击表单的提交按钮时,触发的是该按钮的submit事件

  答案:错误

  162、函数isset()用于判断某个变量或元素是否存在,返回值为true或false

  答案:正确

  解析:

  163、若存在复选框组name="like[]",$_POST[like]是一个数组

  答案:正确

  164、如果超链接的地址是http://ec.hynu.cn/instr.php?abc=3&bcd=test,要获取URL参数bcd的值应使用的命令是____。

  答案:

  $bcd=$_GET[bcd];

  解析:

  165、假设用$_POST[username]能获取到信息,则能判断提交给该页的表单中含有____属性为username的表单元素。该表单form标记的method属性为____。

  答案:name;post;

  166、用____数组可以获取以Get方式提交的表单信息。

  答案:$_GET;

  167、下列哪个数组不可能用来获取表单元素的值? ( )

  A、$_REQUEST[]

  B、$_POST[]

  C、$_GET[]

  D、$_SERVER[]

  答案:D

  168、若是在标记中存在action="form.php"和onsubmit="return validate();",下面说法中错误的是______

  A、函数validate()的调用和文件form.php的执行都是在点击submit按钮之后进行的

  B、点击submit按钮之后,先执行函数validate(),当所有数据都符合要求之后再运行文件form.php

  C、点击submit按钮之后,先执行文件form.php,再执行函数validate()

  D、以上说法中有一条是错误的

  答案:C

  169、提交表单数据后,服务器端使用哪个文件处理这些数据,是由表单标记中哪个属性指定__________

  A、action

  B、method

  C、enctype

  D、onsubmit

  答案:A

  170、定义了表单数据验证的脚本函数validate()之后,对该函数正确的调用形式是__________

  A、在标记中使用onclick="validate()"

  B、在submit按钮标记中使用onclick="validate()"

  C、在标记中使用onsubmit="return validate()"

  D、在标记中使用onsubmit="validate()"

  答案:C

  171、表单提交数据时,若method取值为get,则数据保存到系统数组____里面

  答案:$_GET;

  172、表单界面文件是form.htm,处理表单提交数据的文件是confirm.php,使用标签的哪个属性来引用该php文件_____

  A、enctype

  B、name

  C、ID

  D、action

  答案:D

  173、在a.php文件中存在代码第一页,在b.php文件中如何获取page传递的值___________

  A、$pageno=$_POST[‘page’]

  B、$pageno=$_GET[‘page’]

  C、$pageno=$_SESSION[‘page’]

  D、$pageno=$_FILES[‘page’]

  答案:B

  174、$_GET[]数组只能接收表单提交的数据( )

  答案:错误

  175、在form标记中使用onsubmit调用验证函数时,函数名前面return的作用

  A、阻止函数继续执行下去

  B、没有任何意义,可以去掉的

  C、当用户输入数据不符合要求时,阻止非法数据提交给服务器

  D、以上说法都不正确

  答案:C

  176、关于系统数组$_POST和$_GET,下面说法中错误的是

  A、数据可以提交到系统数组$_POST或者$_GET当中

  B、获取表单元素提交数据时,系统数组$_POST或者$_GET使用的键名下标必须是表单元素的名称name属性的值

  C、系统数组$_GET只能接收保存表单元素提交的数据

  D、系统数组$_POST只能接收保存表单元素提交的数据

  答案:C

  177、若是在标记中存在action="4-1.php"和onsubmit="return validate();",下面说法中错误的是

  A、函数validate()的调用和文件4-1.php的执行都是在点击submit按钮之后进行的

  B、点击submit按钮之后,先执行函数validate(),当所有数据都符合要求之后再运行文件4-1.php

  C、点击submit按钮之后,先执行文件4-1.php,再执行函数validate()

  D、以上说法中有一条是错误的

  答案:C

  178、关于$_POST[uname]中的uname,下面说法正确的是

  A、是某个表单元素name属性的取值

  B、是某个表单元素ID属性的取值

  C、是一个变量

  D、是一个普通的字符串

  答案:A

  179、关于isset()函数,下面说法错误的是

  A、用于判断某个数组元素取值是否为空

  B、返回值是真与假的形式

  C、用于判断某个数组元素或者变量是否存在

  D、若表单method取值post,文本框name为uname,无论文本框是否输入数据,isset($_POST[uname])结果都是真值

  答案:A

  180、关于submit事件,下面说法错误的是

  A、属于表单标记form

  B、属于submit类型的按钮

  C、点击submit按钮时触发

  D、对应的事件属性是onsubmit

  答案:B

  181、若某个文本框name属性取值为txt,不能使用下面哪种形式获取该文本框提交的数据

  A、$_GET["txt"]

  B、$_POST["txt"]

  C、$_POST[txt]

  D、$_POST[txt]

  答案:D

  解析:

  182、下面哪一项不是系统数组

  A、$_FILE

  B、$_POST

  C、$_SESSION

  D、$_GET

  答案:A

  183、下面关于系统数组的描述中,哪一项是错误的

  A、我们已经接触过的所有系统数组的下标都是键名下标

  B、$_SESSION的下标来自于表单元素name属性的取值

  C、对于$_SESSION数组中的元素,通常是在一个文件中定义,在另一个文件中引用

  D、$_SESSION数组中元素的下标是由用户在编写代码时根据需要独立定义的,与其它元素无关

  答案:B

  184、点击“注册”按钮在新窗口中打开文件zhuce.html,需要使用哪个代码实现

  A、onsubmit="window.open(zhuce.html);"

  B、onsubmit="window.open(zhuce.html);"

  C、onclick="window.open(zhuce.html);"

  D、onclick="window.open(zhuce.html);"

  答案:C

  185、要在表单文本框中显示数组元素$row[title]的值,则代码是:

  答案:

  echo$row[title];

  ;

  解析:

  186、判断表单文本框age的数据是否提交到服务器端的方法是______

  A、if($_POST[age]== )

  B、if(isset($_POST[age]))

  C、if($_POST[age]= )

  D、if(isset($_FILES[age]))

  答案:A

  187、代码if(document.getElementById(jieshao).value=)用于判断id为jieshao的表单元素值是否为空

  答案:错误

  188、使用函数move_uploaded_file()时只需提供一个参数

  答案:错误

  189、表单中有文件域元素时,下面哪个说法错误________

  A、

  中method属性取值可以是get

  B、

  中enctype属性取值为multipart/form-data

  C、文件域元素需要设置name属性

  D、可以有多个文件域元素

  答案:A

  190、存在表单文件域元素fname,系统数组$_FILES[fname]中的内容不包括___

  A、上传文件的名称

  B、上传文件的类型

  C、上传文件的大小

  D、上传文件的内容

  答案:D

  191、进行文件上传时,文件相关信息存放在系统数组____中

  答案:$_FILES;

  192、以下系统数组中可以使用两个下标的是___________

  A、$_POST

  B、$_GET

  C、$_FILES

  D、$_SESSION

  答案:C

  193、函数move_uploaded_file()只需要一个参数( )

  答案:错误

  194、若存在文件域元素名称为f1,$_FILES[‘F1’]是一个数组( )

  答案:正确

  195、进行文件上传时,需要在form标记中设置属性enctype的取值是

  A、multipart/form-data

  B、text/plain

  C、application/x-www-form-urlencoded

  D、以上都不是

  答案:A

  196、关于函数move_uploaded_file(),下列说法错误的是

  A、该函数需要指定两个参数

  B、第二个参数需要同时指定文件存储的位置和要保存文件的名称

  C、第一个参数需要指定文件的临时存储位置和临时名称

  D、以上说法都是错误的

  答案:D

  197、关于系统数组$_FILES,第二个下标不包含下面哪一项

  A、tmpname

  B、size

  C、name

  D、type

  答案:A

  198、关于多文件上传功能中,下面说法错误的是

  A、文件域元素中必须添加multiple属性

  B、可以同时选择不同文件夹中的文件

  C、$_FILES[file1][';name]是一个数组

  D、文件域元素的name属性取值必须带有[]

  答案:B

  199、$_FILES{"touxiang"]["type"]作用是

  A、获取上传文件的类型

  B、获取上传文件的大小

  C、获取上传文件的名称

  D、获取上传文件的临时存储信息

  答案:A

  200、完成文件上传功能,在标签中使用哪个属性设置编码_____

  A、enctype

  B、name

  C、ID

  D、action

  答案:A

  201、在A网页上创建了一个Session变量:$____SESSION["user"]="张三",在B网页上要输出这个Session变量的值,应使用。

  答案:echo $_SESSION["user"];

  202、在同一个网站的不同文件之间传递数据的机制是__________

  A、session

  B、cookie

  C、application

  D、post

  答案:A

  203、下面哪个系统数组不用于接收表单提交的数据________

  A、$_SESSION

  B、$_FILES

  C、$_POST

  D、$_GET

  答案:A

  204、关于session机制的描述中正确的是_____

  A、用户的session都保存在浏览器端

  B、一旦某个页面向session中提供了数据,当前网站中在该页面之后执行的页面文件都可以根据需要从中获取该数据

  C、不同网站的页面之间可以通过session机制来传递数据

  D、session中存放的是所有用户的共用数据

  答案:B

  205、点击超链接可以向服务器提交数据( )

  答案:正确

  206、链接打开文件count.php时使用键名uname提交数据“liuhong”,超链接href属性的取值为

  A、href="count.php"?uname="liuhong"

  B、href="count.php?uname:liuhong"

  C、href="count.php?uname=liuhong"

  D、href="count.php"?uname:"liuhong"

  答案:C

  207、关于session机制的描述中错误的是

  A、服务器可通过sessionID来区分各个不同用户

  B、一旦某个页面向session管道中提供了数据,当前网站中在该页面之后执行的页面文件都可以根据需要从管道中获取该数据

  C、不同网站的页面之间可以通过session机制来传递数据

  D、要提供数据的页面和要获取数据的页面都要启用session

  答案:C

  208、下面说法中错误的是

  A、变量有生命周期

  B、session有生命周期

  C、session产生于用户开始访问一个网站时

  D、一个session中可以保存多个用户的信息

  答案:D

  209、在PHP中,有两个函数与cookie操作有关。其中____用来设置cookie变量内容, ____用来读取cookie变量内容。

  答案:setcookie;$_COOKIE;

  210、能够在同一网站不同页面之间传递数据的机制是____,在程序代码开始处启用该机制时需要使用的代码是____

  答案:session;session_start();

  211、Session可以在不同网站的页面之间传递数据( )

  答案:错误

  212、mysql数据库中查询数据用select语句

  答案:正确

  213、以下说法不正确的是

  A、模糊查询使用的关键字是like

  B、排序查询asc是降序,desc是升序

  C、分页查询使用的关键字是limit

  D、mysql如果只安装服务不安装界面也可以正常使用

  答案:B

  214、在用浏览器查看网页时出现404错误可能的原因是

  A、页面源代码错误

  B、文件不存在

  C、与数据库连接错误

  D、权限不足

  答案:B

  215、安装MySQL数据库之后,默认使用的是根用户root

  答案:正确

  216、卸载MySQL时,说法正确的是

  A、只要在控制面板中卸载软件即可

  B、在控制面板中卸载软件后,清理完注册表信息即可

  C、先删除系统盘符下的文件夹,再清理注册表信息,最后卸载软件

  D、先在控制面板中卸载软件,然后清理注册表信息,最后删除系统盘符下的相关文件夹

  答案:D

  217、MySQL服务器有一个超级管理员账号,其名称是( )

  A、admin

  B、root

  C、sa

  D、Administrator

  答案:B

  218、mysqli中返回结果集中记录总数的函数是( )

  A、fetch_row

  B、fetch_assoc

  C、num_rows

  D、field_count

  答案:C

  219、访问mysql数据库时,用来选择并打开指定数据库的方法是_________

  A、mysqli_query()

  B、mysqli_connect()

  C、mysqli_select_db ()

  D、mysqli_num_rows()

  答案:C

  220、若是在某次访问数据库的操作中,需要用到如下四个函数

  ①mysqli_num_rows() ②mysqli_select_db()、

  ③mysqli_connet() ④mysqli_query()

  则使用这四个函数的顺序是___________

  A、①②③④

  B、②③①④

  C、③②④①

  D、③④①②

  答案:C

  221、PHP中选择打开数据库的方法是______

  A、mysqli_connect()

  B、mysqli_select_db()

  C、mysqli_query()

  D、mysqli_num_rows()

  答案:B

  222、查询用户名和密码信息是否存在时,关于查询结果记录集$result的说法错误的是____

  A、该记录集中的记录数只能是0或者1

  B、该记录集中的记录数无法预知

  C、若记录数是0,说明用户输入的账号或者密码信息有误

  D、若记录数是1,说明用户输入的账号和密码信息正确

  答案:B

  223、访问mysql数据库时,从查询结果记录集中获取一条记录的方法是

  A、mysql_num_rows()

  B、mysql_select_db()

  C、mysql_fetch_array()

  D、mysql_fetch_Array()

  答案:C

  224、函数mysql_fetch_array()的作用是

  A、获取一个数组中的元素

  B、从查询结果记录集中获取一条记录并以对象方式存储访问

  C、从查询结果记录集中获取一条记录并以数组方式存储访问

  D、以上说法都不正确

  答案:C

  225、下面操作MySQL数据库的方法中,哪个返回值可能是false

  A、mysql_fetch_array()

  B、mysql_select_db()

  C、mysql_num_rows()

  D、mysql_fetch_Array()

  答案:A

  226、查询数据表时,限制获取查询结果中序号为6、7、8的记录,需要使用的子句是

  A、limit 6,8

  B、limit 6,2

  C、from 6 to 8

  D、start 6 to 8

  答案:B

  227、MySQL数据库操作中,Create New Schema命令的作用是

  A、创建数据表

  B、创建数据表中一个列名

  C、创建数据库

  D、以上说法都不正确

  答案:C

  228、关于数据库的导入操作,下列说法中错误的是

  A、使用的命令是Restore

  B、导入过程中可以更改原来数据库的名称

  C、导入过程中必须要选择忽略错误选项,否则导入无法完成

  D、若安装数据库时选择的字符集是GBK,则导入过程中,必须要选择字符集是GBK

  答案:D

  229、关于PHP访问MySQL数据库的各种方法,下列说法中正确的是

  A、在使用mysql_connect()连接数据库成功之后,就可以直接访问数据表完成各种操作

  B、mysql_num_rows()的作用是获取查询结果记录集中记录的个数,其参数可以省略

  C、mysql_select_db()的作用是选择打开指定的数据库,可以只指定一个参数

  D、mysql_query()函数只能执行查询语句,不能执行插入、删除、更新语句

  答案:C

  230、假设用户在登录时,输入的用户名信息保存在变量$emailaddr中,密码保存在变量$psd中,查询数据表usermsg中是否存在该用户名和密码信息,需要定义的查询语句是

  A、select * from usermsg where emailaddr=$emailaddr or psd=$psd

  B、select * from usermsg where emailaddr=$emailaddr and psd=$psd

  C、select * from usermsg where emailaddr=$emailaddr and psd=$psd

  D、select * from usermsg where emailaddr=$emailaddr or psd=$psd

  答案:B

  231、查询用户名和密码信息是否存在时,关于查询结果记录集$result的说法错误的是

  A、该记录集中的记录数只能是0或者1

  B、该记录集中的记录数无法预知

  C、若记录数是0,说明用户输入的账号或者密码信息有误

  D、若记录数是1,说明用户输入的账号和密码信息正确

  答案:B

  232、要获取记录集$result中的记录数,需要使用代码

  A、count($result)

  B、mysql_num_row($result)

  C、mysql_nums_rows($result)

  D、mysql_num_rows($result)

  答案:D

  233、MySQL中使用Select语句查询时,要限制返回的行数可使用____子句。

  答案:limit;

  234、访问mysql数据库时,从查询结果记录集中获取一条记录的方法是__________

  A、mysqli_num_rows()

  B、mysqli_select_db()

  C、mysqli_fetch_array()

  D、mysqli_query()

  答案:C

  235、在mysql Administrator界面下,Create New Schema命令的作用是_____

  A、创建数据库

  B、创建数据表中一个列名

  C、创建数据表

  D、以上说法都不正确

  答案:A

  236、关于数据库的导入操作,下列说法中错误的是_____

  A、使用的命令是Restore

  B、导入过程中可以更改原来数据库的名称

  C、导入过程中必须要选择忽略错误选项,否则导入无法完成

  D、使用的命令是Backup

  答案:D

  237、假设用户在登录时,输入的用户名信息保存在变量$uname中,密码保存在变量$psd中,查询数据表user中是否存在该用户名和密码信息,需要定义的查询语句是_______

  A、select * from user where uname=$uname or psd=$psd

  B、select * from user where uname=$uname and psd=$psd

  C、select * from user where uname=$uname and psd=$psd

  D、select * from user where uname=$uname or psd=$psd

  答案:B

  238、要获取记录集$result中的记录数,需要使用代码______

  A、count($result)

  B、mysqli_num_row($result)

  C、mysqli_nums_rows($result)

  D、mysqli_num_rows($result)

  答案:D

  239、MySQL数据库的根用户是____

  答案:root;

  240、下面的程序使用mysqli内置函数连接数据库,并将表lyb中的记录显示在网页中,将1234处填写完整

  241、下面的程序用来删除记录,当用户单击“删除”超链接时,记录将被删除,将下面1234处的代码补充完整

  1.isset 2$_GET[“id”] 3.$id 4.$sql,$conn

  242、下面的程序是获取到下面表单发送来的信息并按以下格式输出

  将下面的服务器端的程序补充完整,在1234处填写合适的代码

  $user=$_POST[“user”];

  $pwd=$_POST[“pwd”];

  $addr=$_POST[“addr”];

  echo $user.“您好,您住在”.$addr.”,您的密码是“.$pwd;

  243、1)写一个函数,函数名为Trimtit,有两个参数$tit,$n,函数的功能是根据指定的长度截取原始字符串。

  如果原始字符串$tit的长度大于指定长度$n,则返回从左端截取的字符串并加“…”

  如果长度未超过指定长度,则返回原始字符串。

  2)并编写测试代码,使用函数实现字符串的截取。

  答案:<?php  function Trimtit($tit,$n){if(strlen($tit)>$n){

  echo "...".substr($tit,0,$n);

  }

  else

  echo $tit;

  }

  Trimtit("tit664848",5);

  解析:

  244、编写一个函数,输入是5个分数,输出是去掉一个最高分和去掉一个最低分后的平均分。

  答案:<?php  function num($a,$b,$c,$d,$e){

  $s=array($a,$b,$c,$d,$e);

  $max=0;

  $min=$s[0];

  $abc=0;

  for($i=0;$i

  if($max<=$s[$i]) {

  $max=$s[$i];

  }

  if($min>=$s[$i]) {

  $min=$s[$i];

  }

  $abc+=$s[$i];

  }

  $abc=($abc-$min-$max)/5;

  echo $abc;

  }

  num(11,22,33,44,55);

  解析:

  245、使用for循环,完成1+2+3+4+…+100求和过程,使用变量$sum表示结果并输出。

  答案:<?php  $num=0;

  for($i=1;$i<=100;$i++){

  $num+=$i;

  }

  echo $num;

  imagecreatetruecolor

  输出真彩色图像

  246、下面哪一个不是函数imagettftext()的参数_______

  A、输出字符的坐标

  B、输出字符的角度

  C、字号

  D、加粗输出的字符

  答案:D

  247、创建真彩色图像,使用的函数是____

  答案:

  imagecreatetruecolor()

  ;

  248、代码imagecolorallocate($img1,255,255,0)的作用是创建____色

  答案:黄;

  249、imageline()函数能够在画布中画线,需要四个参数( )

  答案:错误

  250、用于创建一幅真彩色图像的函数是

  A、imagecreatetruecolor()

  B、imagecreate()

  C、imagecolorallocate()

  D、imagefill()

  答案:A

  251、用于为指定图像分配颜色的函数是

  A、imagecreatetruecolor()

  B、imagecreate()

  C、imagecolorallocate()

  D、imagefill()

  答案:C

  252、下面哪一个不是函数imagettftext()的参数

  A、字号

  B、输出字符的角度

  C、输出字符的颜色

  D、加粗输出的字符

  答案:D

  253、函数imagesetpixel()的作用是

  A、在指定位置画一条直线

  B、在指定位置设置一个单一像素

  C、使用指定的颜色填充指定的区域

  D、新建一个基于调色板的图像

  答案:B

  254、若$color表示蓝色,代码imagefill($img,0,0,$color)作用是

  A、设置画布$img中坐标0,0的点为蓝色

  B、为画布填充蓝色

  C、在画布中画蓝色直线

  D、输出画布

  答案:B

  255、用于为画布分配颜色的函数是_____

  A、imagefill()

  B、imagecreate()

  C、imagecolorallocate()

  D、imagecolor()

  答案:D

《php常用面试题及答案2套.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【php面试题及答案】相关文章:

PHP面试题与答案07-22

php面试题目及答案07-29

常用php面试题及答案10-18

最新关于精选php面试题及答案08-25

PHP面试题10-14

php经典面试题06-27

php面试题11-12

php初级面试题11-04

php算法面试题08-22

论文-AI自动生成器

万字论文 一键生成

输入题目 一键搞定毕业范文模板
AI原创 低重复率 附赠査重报告

点击生成
ai帮你写文章
一键生成 高质量 不重复
微信扫码,即可体验

php常用面试题及答案2套

  无论是在学习还是在工作中,我们经常接触到试题,试题可以帮助主办方了解考生某方面的知识或技能状况。你知道什么样的试题才是规范的吗?下面是小编帮大家整理的php常用面试题及答案,供大家参考借鉴,希望可以帮助到有需要的朋友。

php常用面试题及答案2套

  php面试题及答案 1

  1、谈对mvc的认识?

  答:由模型(Model),视图(View),控制器(Controller)完成的应用程序

  由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;

  2、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)

  答:SELECT * FROM `members` ORDER BY posts DESC limit 0,10;

  3、GD库是做什么用的?

  答:gd库提供了一系列用来处理图片的功能,使用GD库可以处理图片,或者生成图片。

  在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。

  4、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么别?

  答:int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串

  char的场地固定为创建表设置的长度,varchar为可变长度的字符

  5、以下程序的输出结果?

  $b=201;

  $c=40;

  $a=$b>$c?4:5;

  echo $a;

  

  答:4

  6、检测一个变量是否有设置的函数是?是否为空的函数是?

  答:isset($str),empty($str);

  7、得查询结果集总数的函数是?

  答:mysql_num_rows($result);

  8、$arr = array(‘james’, ‘tom’, ‘symfony’); 请打印出第一个元素的值?

  答:echo $arr[0];

  9、===”是什么?试举一个“==”是真但“===”是假的例子。

  “===”是既可以返回布尔值“假”,也可以返回一个不是布尔值但却可以赋与“假”值的函式,strpos() 和 strrpos() 便是其中两个例子。

  if (strpos("abc", "a") == true){ // 这部分永不会被执行,因为 "a" 的位置是 0,换算成布尔值“假”}if (strpos("abc", "a") === true){ // 这部份会被执行,因为“===”保证函式 strpos() 的送回值不会换算成布尔值.}

  10、以下程序的输出结果

  $str=“cd”;

  $$str=“hotdog”;

  $$str.=“ok”;

  echo $cd;

  

  答案:hotdogok

  11、给你三个数,写程序求出其最大值。

  $var1=1;

  $var2=7;

  $var3=8;

  $max=$var1>$var2?$var1:$var2;

  $max=$max>$var3?$max:$var3;

  echo $max;

  12、将一个选择2号选项的ip为127.0.0.1的用户在当前时间的投票记录到数据库的SQL

  答: into poll (ip,time,iid) values(127.0.0.1,now(),2);

  13、个函数验证电子邮件的格式是否正确 ?

  答:function checkEmail($email)

  {

  $pregEmail = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";

  return preg_match($pregEmail,$email);

  }

  14、表 menu(mainmenu,submenu,url),请用递归法写出一树形菜单,将所有的menu列出来

  function GenerateMenu($id=0,$str="")

  {

  $result=mysql_query("select mainmenu,url,submenu from menu where mainmenu=$id");

  while($row=mysql_fetch_array($result))

  {

  echo $str.$row["url"]."

  ";

  GenerateMenu($row["submenu"],$str."--");

  }

  mysql_free_result($result);

  }

  $link=mysql_connect("localhost","root","");

  mysql_select_db("phpinterview");

  GenerateMenu();

  mysql_close($link)

  

  15、PHP可以和sql server/oracle等数据库连接吗?

  答:可以

  16、写出PHP5权限控制修饰符?

  答:public(公共),private(私用),protected(继承)

  17、请写出php5的构造函数和析构函数?

  答: 构造函数:官方称自定义函数

  析构函数:垃圾回收函数(__destruct)

  18、表单中 get与post提交方法的区别?

  答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.

  19、session与cookie的区别?

  答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放

  cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的`。

  两者都可通过时间来设置时间长短

  20、用PHP打印出前一天的时间格式是2010-7-3 12:28:21?

  答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’));

  21、e2ho(),print(),print_r()的区别?

  答:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)

  print() 只能打印出简单类型变量的值(如int,string)

  print_r() 可以打印出复杂类型变量的值(如数组,对象)

  echo 输出一个或者多个字符串

  22、能够使HTML和PHP分离开使用的模板?

  答:Smarty, TinyButStrong,XTemplate, Savant,Template Lite, Dwoo, phemplate

  23、哪些工具进行版本控制?

  答:cvs,svn,vss;

  24、如何实现字符串翻转?

  答:echo strrev($a); //strrev — 颠倒字符串

  25、优化查询语句?

  a.最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作

  例子1:

  SELECT * FROM order WHERE YEAR(orderDate)<2008;(慢)

  SELECT * FROM order WHERE orderDate<"2008-01-01";(快)

  例子2:

  SELECT * FROM order WHERE addtime/7<24;(慢)

  SELECT * FROM order WHERE addtime<24*7;(快)

  例子3:

  SELECT * FROM order WHERE title like "%good%";

  SELECT * FROM order WHERE title>=”good” and name<"good";

  26、对于大流量的网站,您采用什么样的方法来解决访问量问题?

  答:确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表,

  程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量

  27、如何修改SESSION的生存时间?.

  答:方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache

  方法2:$savePath = “./session_save_dir/”;

  $lifeTime = 小时 * 秒;

  session_save_path($savePath);

  session_set_cookie_params($lifeTime);

  session_start();

  方法3:setcookie() and session_set_cookie_params($lifeTime);

  28、有一个网页地址, 比如PHP开发资源网主页: https://www.php100.com/,如何得到它的内容?

  答:方法1(对于PHP5及更高版本):

  $readcontents = fopen(“https://www.php100.com/”, “rb”);

  $contents = stream_get_contents($readcontents);// stream_get_contents 取得字符串赋值给$contents

  fclose($readcontents);

  echo $contents;

  方法2:

  echo file_get_contents(“https://www.php100.com/”);

  // file_get_contents() 函数把整个文件读入一个字符串中。

  29、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为?

  答:状态401代表未被授权,header(“Location:www.xxx.php”);

  30、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?

  答:heredoc的语法是用”<<<"加上自己定义成对的标签,在标签范围內的文字视为一个字串

  例子:

  $str = <<

  my name is Jiang Qihui!

  SHOW;

  31、foo()和@foo()之间有什么区别?

  答:@foo()控制错误输出

  32、如何声明一个名为”myclass”的没有方法和属性的类?

  答:class myclass{ }

  33、如何实例化一个名为”myclass”的对象?

  答:new myclass()

  34、你如何访问和设置一个类的属性?

  答:$object = new myclass();

  $newstr = $object->test;

  $object->test = “info”;

  35、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?

  答:mysql_fetch_row是从结果集取出1行数组,作为枚举

  mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得

  36、下面哪个函数可以打开一个文件,以对文件进行读和写操作?

  (a) fget() (b) file_open() (c) fopen() (d) open_file()

  答:c

  37、下面的程序会输入是否?

  $num = 10;

  function multiply(){

  $num = $num * 10;

  }

  multiply();

  echo $num;

  

  否,局部变量

  38、JS表单弹出对话框函数是?获得输入焦点函数是?

  答:弹出对话框: alert(),prompt(),confirm()

  获得输入焦点 focus()

  39、JS的转向函数是?怎么引入一个外部JS文件?

  答:window.location.href;

  40、$a = ‘abcdef’; 请取出$a的值并打印出第一个字母?

  答:echo $a{0} 或 echo substr($a,0,1)

  41、如何使用下面的类,并解释下面什么意思?

  class test{

  function Get_test($num){

  $num=md5(md5($num).”En”);

  return $num;

  } }

  双重md5加密

  $testObject = new test();

  $encryption = $testObject->Get_test(“xiaotian_ls”);

  42、请举例说明在你的开发过程中用什么方法来加快页面的加载速

  答:要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引,页面可生成静态,图片等大文件单独服务器。使用代码优化工具啦

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

  $script="以下内容不显示:alert(‘cc’);";

  echo preg_replace("/].*.*?/si", "替换内容", $script);

  

  44、以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。

  答:LoadModule

  php5_module

  "c:/php/php5apache2.dll";AddType application/x-httpd-php .php

  45、sort()、asort()、和 ksort() 有什么分别?它们分别在什么情况下使用?

  sort()

  根据阵列中元素的值,以英文字母顺序排序,索引键会由 0 到 n-1 重新编号。主要是当阵列索引键的值无关疼痒时用来把阵列排序。

  asort()

  与 sort() 一样把阵列的元素按英文字母顺序来排列,不同的是所有索引键都获得保留,特别适合替联想阵列排序。

  ksort()

  根据阵列中索引键的值,以英文字母顺序排序,特别适合用于希望把索引键排序的联想阵列。

  46、用PHP写出显示客户端IP与服务器IP的代码?

  答:打印客户端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv(REMOTE_ADDR);//getenv取得开发环境变量

  打印服务器IP:echo gethostbyname("www.bolaiwu.com") // gethostbyname取得IP地址函数

  47、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?

  答:require->require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require

  include->include有返回值,而require没有(可能因为如此require的速度比include快)

  注意:包含文件不存在或者语法错误的时候require是致命的,include不是

  48、PHP的意思?

  答:PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页

  49、谈谈asp,php,jsp的优缺点?

  答:ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script)作为自己的开发语言。

  PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(https://www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

  JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

  三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下,HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。

  50、 优化MYSQL数据库的方法

  (1).选取最适用的字段属性,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。

  (2).使用连接(JOIN)来代替子查询(Sub-Queries)

  (3).尽量少使用 LIKE 关键字和通配符

  php面试题及答案 2

  1、简述静态网页和动态网页的区别,从文件扩展名、使用技术、表现形式、执行位置等进行阐述

  答案:

  2、简述如何搭建PHP程序的环境

  答案:

  3、简述PHP语言中,流程控制的分类,及几种代表语句。

  答案:

  4、简述表单提交过程中,get和post方式的区别

  答案:

  5、简述session机制的原理

  答案:

  6、如何在php程序中启动session

  答案:

  7、代码如下

  $arr=array("I","am","a","student");

  $whole=implode(_,$arr);

  echo $whole;

  代码输出的结果是:

  答案:

  8、代码如下

  $color=imagecolorallocate($img,0,0,255);

  代码实现的功能:

  答案:

  9、代码如下:

  echo "今天是".date(Y年n月j日);

  $w=date(w);

  $week=array(星期日,星期一,星期二,星期三,星期四,星期五,星期六);

  echo $week[$w];

  代码实现的功能:

  输出今天的日期和是周几

  输出的内容是(按考试的日期来输出即可):

  2021/12/21星期二

  答案:

  10、代码如下:

  $pageno=isset($_GET[pageno])?$_GET[pageno]:1;

  代码实现的功能:

  答案:

  11、php的源码是

  A、开放的

  B、封闭的

  C、需购买的

  D、完全不可见的

  答案:A

  12、静态网页的执行在浏览器端完成,动态网页的执行在服务器端完成

  答案:正确

  13、动态页面中不可以出现html、css和javaScript的代码

  答案:错误

  14、服务器收到客户发出的静态页面请求之后,只把该页面文件发送给客户浏览器来执行

  答案:错误

  15、存放在任意文件夹中的php文件都可以通过localhost/…方式来执行

  答案:错误

  16、搭建PHP环境时要先安装php,再安装apache服务器

  答案:错误

  17、apache服务默认占用80号端口,不可更改

  答案:错误

  18、下面哪项不属于静态网页设计中使用的核心技术

  A、HTML

  B、DreamWeaver

  C、CSS

  D、Javascript

  答案:B

  19、下面哪组中列举的技术都属于动态网页设计时使用的核心技术

  A、ASP、JSP、SSP

  B、JSP、XHTML、PHP

  C、JSP、PHP、ASP

  D、PHP、ASP、Javascript

  答案:C

  20、动态网页与静态网页的本质区别是

  A、静态页面运行后能够查看所有的源代码,动态页面中动态部分源代码则无法查看

  B、静态网页任何时候运行内容都相同,动态页面则不然

  C、动态页面是在服务器端执行的,而静态页面是在浏览器端执行的

  D、静态页面中可以包含各种小动画,动态页面不可以

  答案:C

  21、下面各种说法中错误的是

  A、在动态页面中可以包含大量的静态代码

  B、使用静态页面技术可以实现动态变化的时钟效果

  C、动态页面的运行过程通常会包含在服务器端的执行过程和在浏览器端的执行过程两个阶段

  D、浏览器请求执行一个静态页面时,服务器先把页面文件执行完毕,然后将结果传递到浏览器端显示

  答案:D

  22、下面关于PHP的说法错误的是

  A、PHP是一种服务器端的脚本

  B、PHP程序可以在任意环境中执行

  C、在PHP文件中可以包含任意的HTML代码和样式的应用

  D、使用PHP可以实现注册、登录、在线投票、访客计数等动态页面中需要的各种功能

  答案:B

  23、若PHP文件中包含html代码,下面描述中正确的是

  A、服务器将整个php文件发送给浏览器执行

  B、服务器将所有代码执行后将结果送给浏览器

  C、服务器执行html代码后将执行结果和php代码一起送给浏览器

  D、服务器执行php代码后,将指向结果和html代码一起送给浏览器

  答案:D

  24、下面哪组是PHP支持的服务器环境

  A、Apache和pws

  B、Apache、IIS和pws

  C、Apache和IIS

  D、只有Apache

  答案:C

  25、若是系统中已经存在了IIS服务,且占用了80端口号,则下面说法正确的是

  A、Apache能够成功安装,但是无法启用,只需要修改端口号即可启用

  B、Apache无法完成安装过程

  C、Apache能够成功安装,且能正常启用

  D、以上说法都不正确

  答案:A

  26、下面关于Apache主目录说法错误的是

  A、安装Apache之后,必须要将页面文件放在其主目录下才能正常运行

  B、安装Apache之后,系统会给其指定默认的主目录

  C、Apache的主目录不能随意修改

  D、用户可以根据需要修改Apache主目录

  答案:C

  27、搭建apache web服务器(使用phpstduy)之后,默认情况下运行文件时的localhost对应哪个文件夹?

  A、apache

  B、htdocs

  C、www

  D、htdoc

  答案:C

  28、运行文件时的localhost可以使用哪个IP地址取代?

  A、192.168.0.1

  B、128.0.0.1

  C、127.0.0.1

  D、126.0.0.1

  答案:C

  29、若主机A的计算机名称是jsj-stu1,其主目录中存有文件page1.php,在主机B中要运行主机A的该文件,地址栏中输入的URL是

  A、http://localhost/page1.php

  B、http://127.0.0.1/page1.php

  C、http://localhost/jsj-stu1/page1.php

  D、http://jsj-stu1/page1.php

  答案:D

  30、小明坐在电脑前访问搜狐网站,此时小明的电脑是:( )

  A、客户端

  B、服务器

  C、既作为客户端又作为服务器

  D、都不是

  答案:A

  31、QQ属于以下哪种结构的软件: ( )

  A、B/S

  B、C/S

  C、Ajax

  D、单机软件

  答案:B

  32、如果Apache的网站主目录是E:eshop,要运行E:eshopabcqbas.php文件,则应在浏览器地址栏中输入____,如果E:eshop是虚拟目录eshop,则要运行E:eshopty.php文件,应在浏览器地址栏中输入____。

  答案:http://localhost/abc/qb/as.php;http://localhost/eshop/ty.php;

  33、PHP文件中可包含____、____、____三部分的代码。

  答案:PHP脚本;HTML代码;JavaScript;

  34、以下哪种技术不是服务器端动态网页技术( )

  A、PHP

  B、JSP

  C、ASP.NET

  D、Ajax

  答案:D

  35、动态网站一般包括前台页面和后台管理程序,其中,前台页面的主要原理是( )

  A、修改记录

  B、添加记录

  C、显示记录

  D、删除记录

  答案:C

  36、浏览器向某个服务器发出页面请求时,无论请求的是静态页面还是动态页面,该请求一定要通过____协议发送出去。

  答案:http;

  37、PHP文件中可以包含html、css等静态页面的代码( )

  答案:正确

  38、Apache服务器的主目录只能是htdocs( )

  答案:错误

  39、PHP文件只能在apache服务器环境下运行( )

  答案:错误

  40、网页的本质是( )文件。

  A、图像

  B、纯文本

  C、可执行程序

  D、图像和文本的压缩

  答案:B

  41、PHP的配置文件是______

  A、php.ini

  B、php.conf

  C、httpd.ini

  D、httpd.conf

  答案:A

  42、下面关于Apache主目录说法错误的是_______

  A、安装Apache之后,必须要将页面文件放在其主目录下才能正常运行

  B、安装Apache之后,系统会给其指定默认的主目录

  C、Apache的主目录不能随意修改

  D、用户可以根据需要修改Apache主目录

  答案:C

  43、在浏览器地址栏中输入地址http://localhost/exam/up.php运行页面文件,在路径中与apache主目录相对应的部分是____,假设主目录是D:/PHP5,则exam文件夹所在的位置是____

  答案:localhost;d:/php5/exam;

  44、安装apache2.2.17和php5之后,默认情况下运行php文件时不显示代码中的错误提示( )

  答案:正确

  45、php可以使用“scanf”来打印输出结果

  答案:错误

  46、php中连接两个字符串的符号是“+ ”

  答案:错误

  47、php中布尔类型数据只有两个值:真和假

  答案:正确

  48、每个语句结尾都要加“;”来表示语句结束

  答案:正确

  49、php变量使用之前需要定义变量类型

  答案:错误

  50、在php中“==”的意思是“等于”

  答案:正确

  51、以下代码输出的结果为$a = "cc"; $cc = "dd"; echo $a=="cc"?"{$$a}":$a;

  A、cc

  B、$a

  C、$$a

  D、dd

  答案:D

  52、以下关于字符串的说法正确的是

  A、echo “hellonworld”;在页面可以实现换行

  B、echo ‘helloworld{$a}’;可以解析变量a的值

  C、$str="123"

  D、print $a,”hello”;可以输出数据不报错

  答案:C

  解析:

  53、php如何输出反斜杠

  A、n

  B、r

  C、t

  D、

  答案:D

  54、以下代码输出的结果是$a = 10; $b = &$a;取a echo $b; b也指向10 $b = 15; echo $a;

  A、1015

  B、1010

  C、1515

  D、1510

  答案:A

  55、以下代码输出的结果是$a = "aa"; $aa = "bb"; echo $$a;

  A、aa

  B、bb

  C、$aa

  D、$bb

  答案:B

  56、若x,y为整型数据,以下语句执行的$y结果为$x = 1; ++$x; $y =$x++;

  A、1

  B、2

  C、3

  D、0

  答案:B

  57、php中单引号和双引号包含字符串的区别正确的是

  A、单引号速度快,双引号速度慢

  B、双引号速度快,单引号速度慢

  C、单引号里面可以解析转义字符

  D、双引号里面可以解析变量

  答案:D

  58、php定义变量正确的是

  A、var a = 5

  B、$a = 10

  C、int b = 6

  D、var $a = 12

  答案:B

  59、php中哪个语句可以输出变量类型

  A、echo

  B、print

  C、var_dump()

  D、print_r()

  答案:C

  60、字符串"Hello"可以看做是一个包含5个元素的数组

  答案:正确

  61、下面哪一组是PHP5中的注释符号

  A、//、、/*...*/

  B、//、#、/*...*/

  C、、#、/*...*/

  D、//、#、/*

  答案:B

  62、下面哪一组是合法的PHP变量

  A、str1、_num1

  B、$5_str、$num1

  C、$str1、$_num1

  D、$str1、$_num1%

  答案:C

  63、假设存在变量$str1="abc",$str2="ABC",$num1=23,$num2=45,下面哪一组表达式的运算结果是假值

  A、$str1<$str2 && $num1<$num2

  B、$str1>$str2 && $num1<$num2

  C、$str1<$str2 || $num1<$num2

  D、$str1>$str2 || $num1>$num2

  答案:A

  64、下列哪个PHP变量的名称是错误的? ( )

  A、$This

  B、$s_Name

  C、$_if

  D、$5-zh

  答案:D

  65、单引号字符串和双引号字符串的区别是:____字符串中可包含变量。

  答案:双引号;

  66、对变量进行引用赋值时,引用的变量名前必须加____。

  答案:&;

  67、PHP的注释符是( )

  A、

  B、

  C、//

  D、<*>

  答案:C

  68、字符串$str=”abcdefg”是一个有7个元素,下标从1开始的数组( )

  答案:错误

  69、当把布尔值转换为整型时,true会转换成____,false转换成____。当把布尔值转换成字符串时,true会转换成____,false转换成____。

  答案:1;0;1;“”;

  70、下面哪一组是合法的PHP变量_______

  A、str1、$_num1

  B、$%_str、$num1

  C、$str1、$_num1

  D、$str1、$_num1%

  答案:C

  71、PHP、CSS和JavaScript代码中共同的注释符号是_________

  A、//

  B、/*…*/

  C、#

  D、‘

  答案:B

  72、while和do-while语句都是先判断条件再执行循环体

  答案:错误

  73、“break ”代表的意思是跳出循环

  答案:正确

  74、分支语句if($num=6){…}条件永远为真

  答案:正确

  75、代码块$i=1;$sum=0;while($i<=10){$i++;$sum+=$i;}的执行结果是

  A、65

  B、55

  C、54

  D、66

  答案:A

  76、在date()函数中,能够得到星期几的数字值的参数是

  A、W

  B、w

  C、D

  D、以上都不是

  答案:B

  77、关于循环结构,下列说法中错误的是

  A、for()括号中需要三个表达式

  B、while循环至少需要执行一次

  C、do while循环至少需要执行一次

  D、for循环的循环变量有可能只是用于控制循环次数,并不参与循环体的`执行过程

  答案:B

  78、语句“for($k=0;$k=1;$k++);”和语句“for($k=0;$k= =1;$k++);”的执行次数分别是: ( )

  A、都是无限次

  B、都是0

  C、无限次和0

  D、0和无限次

  答案:C

  79、如果要提前离开for循环,可以使用下面哪个语句( )

  A、pause

  B、return

  C、exit

  D、break

  答案:D

  80、对于for($i=100; $i<=200; $i+=3),循环运行结束后,变量$i的值是多少: ( )

  A、201

  B、202

  C、199

  D、198

  答案:B

  81、在switch结构中,每个case后面的代码需要使用____语句结束

  答案:break;

  82、php中以下能输出当前时间格式像:2016-5-6 13:10:56的是

  A、echo date(“Y-m-d H:i:s”)

  B、echo time()

  C、echo date()

  D、echo time(“Y-m-d H:i:s”)

  答案:A

  83、下列说法不正确的是

  A、list()函数可以写在等号左侧

  B、each()函数可以返回数组里面的下一个元素

  C、foreach()遍历数组的时候可以同时遍历出key和value

  D、for循环能够遍历关联数组

  答案:D

  84、下面程序运行结果$nextWeek = time() + (7 * 24 * 60 * 60); echo Now: . date(Y-m-d) ."n"; echo Next Week: . date(Y-m-d, $nextWeek) ."n";

  A、得到今天的日期(月-日)

  B、得到今天的日期(年-月-日)与下周的日期(年-月-日)

  C、得到现在的时间(小时-分-秒)

  D、得到现在到下周的时间间隔

  答案:B

  85、以下程序横线处应该使用的函数为:$email = ‘langwan@thizlinux.com.cn’; $str = ____($email,‘@’); $info = ____(‘.’,$str); ____($info);输出结果为:Array ([0] => @thizlinux [1]=>;com[2]=>;cn)

  A、strchr, split, var_dump

  B、strstr, explode, print_r

  C、strstr,explode, echo

  D、strchr, split, var,_dump

  答案:B

  86、以下代码运行结果为:$first = "This course is very easy !"; $second = explode(" ",$first); $first = implode(",", $second); echo $first;

  A、This,course,is,very,easy,!

  B、This course is very easy !

  C、This course is very easy !,

  D、提示错误

  答案:A

  87、php中关于字符串处理函数以下说法正确的是

  A、implode( )方法可以将字符串拆解为数组

  B、str_replace()可以替换指定位置的字符串

  C、substr( )可以截取字符串

  D、strlen( )不能取到字符串的长度

  答案:C

  88、range(0,100)用于产生0到100之间的随机数

  答案:错误

  89、代码explode(;,"a.doc;b.ppt;")结果是一个包含三个元素的数组,最后一个元素为空值

  答案:正确

  90、若系统日期时间是2017年12月6日9时12分,函数date("Y-m-d H:i")的返回值是

  A、17-12-6 9:12

  B、2017-12-6 09:12

  C、2017-12-06 9:12

  D、2017-12-06 09:12

  答案:D

  91、下面给定的date()函数的参数中,哪个与月份取值无关?

  A、n

  B、m

  C、M

  D、j

  答案:D

  92、若要输出“今天是2017年9月7日,Thu”,需要使用的代码是

  A、echo "今天是".date("Y年n月j日,D");

  B、echo "今天是".date("y年n月j日,D");

  C、echo "今天是".date("Y年m月d日,D");

  D、echo "今天是".date("y年m月d日,D");

  答案:A

  93、下列哪个函数可用来取得四舍五入的值( )

  A、ceil

  B、floor

  C、round

  D、abs

  答案:C

  94、下列哪个函数可以将数组中各个元素连接成字符串( )

  A、implode

  B、explode

  C、str_repeat

  D、str_pad

  答案:A

  95、echo count("abc");的输出结果是____。

  答案:3;

  96、下列哪个函数可用来取得不小于某数的最整小数值( )

  A、ceil

  B、floor

  C、round

  D、abs

  答案:A

  解析:

  97、下面哪个是JS脚本中产生随机数的函数_______

  A、rand()

  B、mt_rand()

  C、random()

  D、range()

  答案:C

  98、存在变量$str="abcd123",则count($str)和$str[3]结果分别是_________

  A、7 c

  B、6 d

  C、7 d

  D、1 1

  答案:C

  99、PHP中将大写字母转换为小写字母的函数是_____

  A、strtoUpper()

  B、strtoupper()

  C、strToLower()

  D、strtolower()

  答案:D

  100、函数rand(0,20)的作用是____

  答案:产生0-20之间的随机数;

  101、round(20/3,2)的结果是____;ceil(16/5)的结果是____。

  答案:6.67;4;

  102、合并一个数组各个元素值,使用的函数是____

  答案:implode();

  103、在php文件中获取数组元素个数的函数是________

  A、count

  B、length

  C、strlen

  D、counter

  答案:A

  104、分割某个字符串使用的函数是____

  答案:explode();

  105、函数implode()作用是合并指定数组的各个元素值,构成一个字符串( )

  答案:正确

  106、函数array()能够创建任意长度、任意类型取值的数组( )

  答案:正确

  107、使用函数count()可以统计字符串中字符的个数( )

  答案:正确

  108、代码round($_FILES[file1][size]/1024, 2)的作用是

  A、获取千字节为单位的文件长度值,并且保留2位整数

  B、获取千字节为单位的文件长度值,并且在四舍五入后保留两位小数

  C、获取千字节为单位的文件长度值,舍弃所有小数部分的数据

  D、以上说法都不正确

  答案:B

  109、定义数组$stu=array("刘东","女","18"),要得到结果“刘东,女,18”,使用的代码是

  A、explode(",",$stu)

  B、implode(",",$stu)

  C、explode($stu,",")

  D、implode($stu,",")

  答案:B

  110、判断表单密码元素psd的数据是否提交到服务器端的方法是

  A、if($_POST[psd]== )

  B、if(isset($_POST[psd]))

  C、if(Isset($_POST[psd]))

  D、if(Isset($_FILES[psd]))

  答案:A

  111、代码$str=explode(" ","How do you do?")执行之后,数组$str中元素的个数有

  A、3个

  B、4个

  C、5个

  D、6个

  答案:B

  112、函数array_merge()的作用是

  A、定义一个数组

  B、定义一个指定内容范围的数组

  C、将指定的多个数组合并为一个大数组

  D、以上说法都不正确

  答案:C

  113、使用include引用外部文件时,下列哪种做法是错误的

  A、include("zhuce.html")

  B、include"zhuce.html"

  C、include zhuce.html

  D、include zhuce.html

  答案:D

  114、PHP中将小写字母转换为大写字母的函数是

  A、strtoUpper()

  B、strtoupper()

  C、strToUpper()

  D、strToupper()

  答案:B

  115、获取0到100之间的随机数,代码是

  A、range(0,100)

  B、rang(0,100)

  C、rand(0,100)

  D、rande(0,100)

  答案:C

  116、函数md5()的说法中,错误的是

  A、任意两段不同的明文数据加密后,结果一定是不同的

  B、只能进行单向加密,不能逆向解密

  C、一段固定的明文数据,无论何时加密,结果都不变

  D、加密结果是32个字符的十进制数

  答案:D

  117、如果字符串$a="test",$b="es",对$a进行处理得到$b的方法是____。

  答案:substr($a,1,2);

  118、函数strpos("xxPPppXXpx","pp")的返回值是:____。

  答案:4;

  119、使用date()方法获取系统日期中2位月份取值时,需要使用的参数是______

  A、month

  B、M

  C、N

  D、m

  答案:D

  120、如果今天是星期四,要获取到日期中的信息“Thu”,需要使用的代码是____

  答案:date(‘D’);

  121、在PHP的配置文件中,设置时区的参数是______

  A、date_timezone

  B、date.timezone

  C、date_timezones

  D、date._timezones

  答案:B

  122、若系统日期时间是2016年12月6日9时12分,函数date("y-m-d H:i")的返回值是____

  A、16-12-6 9:12

  B、2016-12-6 09:12

  C、16-12-06 09:12

  D、2016-12-06 09:12

  答案:C

  解析:

  123、php中完成大小写转换的一对函数是_______

  A、strtoUpper, strtoLower

  B、strtoupper, strtolower

  C、Upper, Lower

  D、Ucase, Lcase

  答案:B

  124、存在php的字符串变量$str= “You are very butiful?”,要求将该串分割为4个子串,代码是__________

  A、explode(“ ”, $str)

  B、explode(“,”, $str)

  C、explode($str, “ ”)

  D、explode($str, “,”)

  答案:A

  125、在date()函数中,能够得到星期几的数字值的参数是_____

  A、W

  B、w

  C、D

  D、以上都不是

  答案:B

  126、php中获取系统当前日期时间的函数是____

  答案:getdate()或者date();

  127、使用round()函数能够获取随机数( )

  答案:错误

  128、若定义数组时省略关键字key,则第三个数组元素的关键字为3

  答案:错误

  129、以下说法正确的是

  A、$attr代表数组,那么数组长度可以通过$attr.length取到

  B、unset()方法不能删除数组里面的某个元素

  C、php的数组里面可以存储任意类型的数据

  D、php里面只有索引数组

  答案:C

  130、以下代码在页面上会输出多少行数据$attr = array(1,2,3,4); while(list($key,$value) = each($attr)) { echo $key."=>".$value."

  "; } while(list($key,$value) = each($attr)) { echo $key."=>".$value."

  "; }

  A、4

  B、6

  C、8

  D、12

  答案:A

  131、下面哪个选项没有将john添加到users数组中?

  A、$users[] = "john"

  B、array_add($users, "john")

  C、array_push($users, "john")

  D、$users [“aa”]= "john"

  答案:B

  132、以下代码输出的结果为"aa","1"=>"bb","2"=>"cc"); echo $attr[1];

  A、会报错!

  B、aa

  C、输出为空

  D、bb

  答案:D

  133、下列说法正确的是

  A、数组的下标必须为数字,且从“0”开始

  B、数组的下标可以是字符串

  C、数组中的元素类型必顺一致

  D、数组的下标必须是连续的

  答案:B

  134、关于数组元素的下标,下面说法中错误的是

  A、元素下标可以采用从0开始的递增的自然数列的方式

  B、元素的下标可以采用用户自定义的键名下标方式

  C、使用自定义键名下标的数组元素不能使用自然数作为下标进行访问

  D、任何情况下,都要将键名下标放在引号定界符中才能正确访问数组元素

  答案:D

  135、PHP中的数组,下面说法错误的是

  A、数组元素的个数可随意变化

  B、下标可以是数字下标或者键名下标

  C、一个数组的所有元素类型必须一致

  D、使用count()方法获取数组元素的个数

  答案:C

  136、在不定义索引值的情况下,PHP数组中第一个元素的索引是: ( )

  A、0

  B、1

  C、空字符串

  D、不一定

  答案:A

  137、下列哪一项可以用来访问数组的元素( )

  A、->

  B、=>

  C、()

  D、[]

  答案:B

  138、下列哪个数组不可以用来获取表单元素的值? ( )

  A、$_REQUEST[]

  B、$_POST[]

  C、$_GET[]

  D、$_SERVER[]

  答案:D

  139、数组是通过下列哪一项来区分它所存放的元素的? ( )

  A、长度

  B、值

  C、索引

  D、维度

  答案:C

  140、在PHP中,用来合并数组的方法是_________

  A、explode()

  B、array_merge()

  C、range()

  D、count()

  答案:B

  141、关于php中的数组,下面说法中错误的是_____

  A、有用户自定义数组和系统数组之分

  B、数组可以使用数字下标或键名下标

  C、一个数组中各个元素的数据类型可以不同

  D、使用array_merge()函数只能合并两个数组

  答案:D

  142、以下哪项不属于函数的四要素

  A、返回类型

  B、函数名

  C、参数列表

  D、访问修饰符

  答案:D

  143、下列定义函数的方式是正确的

  A、public void Show(){ }

  B、function Show($a=5,$b){ }

  C、function Show(a,b){ }

  D、functionShow(int $a){ }

  答案:B

  144、以下代码执行结果为$A="Hello "; functionprint_A() { $A = "phpmysql !!"; global $A; echo $A; } echo $A; print_A();

  A、Hello

  B、phpmysql !!

  C、Hello Hello

  D、Hello phpmysql !!

  答案:C

  145、以下代码执行结果为:functionprint_A(){ $A = "phpchina"; echo "A值为: ".$A."

  "; //return ($A); } $B = print_A(); echo "B值为: ".$B."

  ";

  A、A值为: B值为:

  B、A值为: B值为: phpchina

  C、A值为: phpchina B值为: phpchina

  D、A值为: phpchina B值为:

  答案:D

  146、implode()函数用于将给定的字符串按照指定的字符分割成一个个子串

  答案:错误

  147、函数ceil(21/4)结果为5

  答案:错误

  148、函数round(326.756,2)的结果是326.76

  答案:正确

  149、如果要让函数返回值,必须使用下列哪个关键词? ( )

  A、continue

  B、break

  C、exit

  D、return

  答案:D

  150、以下关于构造函数说法不正确的是

  A、研究一个类,首先我们要研究的函数是构造函数

  B、构造函数写法和普通函数没有区别

  C、构造函数执行比较特殊

  D、如果父类中存在构造函数并且需要参数,子类在造对象的时候也应该传入相应的参数

  答案:B

  151、以下关于多态的说法正确的是

  A、多态在每个对象调用方法时都会发生

  B、多态是由于子类里面定义了不同的函数而产生的

  C、多态的产生不需要条件

  D、当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在父类引用调用相应的函数的时候表现出的不同称为多态。

  答案:D

  152、关于面向对象的说法不正确的是

  A、OOP是面向对象的简称

  B、静态成员是属于类的

  C、普通成员是属于类的

  D、类里面的$this关键字代表该对象本身

  答案:C

  153、下列哪项不属于OOP的三大特性

  A、封装。

  B、重载。

  C、继承。

  D、多态。

  答案:B

  154、面向对象的三大特性中哪个不属于封装的做法

  A、将成员变为私有的

  B、将成员变为公有的

  C、封装方法来操作成员

  D、使用__get()和__set()方法来操作成员

  答案:B

  155、下面哪项描述是错误的?

  A、普通成员是属于对象的

  B、成员变量需要用public protected private修饰,在定义变量时不再需要var关键字

  C、静态成员是属于对象的

  D、包含抽象方法的类必须为抽象类,抽象类不能被实例化

  答案:C

  156、若是存在变量$age=25,下面哪项中的代码不能输出“My age is 25”

  A、echo "My age is ".$age;

  B、echo "My age is $age";

  C、echo My age is $age;

  D、echo "My age is "."$age";

  答案:C

  157、若存在代码$str="hello everyone!";echo $str[1];,输出结果是

  A、字符h

  B、空格

  C、没有结果

  D、字符e

  答案:D

  158、若是存在变量$name=’zhangling’,下面哪项中的代码不能输出“My name is zhangling”______

  A、echo "My name is ".$name;

  B、echo "My name is $name";

  C、echo My name is $name;

  D、echo "My name is "."$name";

  答案:C

  159、语句echo ‘$str

  ’在输出变量$str的内容之后换行( )

  答案:错误

  160、可以使用PHP的echo输出脚本代码( )

  答案:正确

  161、点击表单的提交按钮时,触发的是该按钮的submit事件

  答案:错误

  162、函数isset()用于判断某个变量或元素是否存在,返回值为true或false

  答案:正确

  解析:

  163、若存在复选框组name="like[]",$_POST[like]是一个数组

  答案:正确

  164、如果超链接的地址是http://ec.hynu.cn/instr.php?abc=3&bcd=test,要获取URL参数bcd的值应使用的命令是____。

  答案:

  $bcd=$_GET[bcd];

  解析:

  165、假设用$_POST[username]能获取到信息,则能判断提交给该页的表单中含有____属性为username的表单元素。该表单form标记的method属性为____。

  答案:name;post;

  166、用____数组可以获取以Get方式提交的表单信息。

  答案:$_GET;

  167、下列哪个数组不可能用来获取表单元素的值? ( )

  A、$_REQUEST[]

  B、$_POST[]

  C、$_GET[]

  D、$_SERVER[]

  答案:D

  168、若是在标记中存在action="form.php"和onsubmit="return validate();",下面说法中错误的是______

  A、函数validate()的调用和文件form.php的执行都是在点击submit按钮之后进行的

  B、点击submit按钮之后,先执行函数validate(),当所有数据都符合要求之后再运行文件form.php

  C、点击submit按钮之后,先执行文件form.php,再执行函数validate()

  D、以上说法中有一条是错误的

  答案:C

  169、提交表单数据后,服务器端使用哪个文件处理这些数据,是由表单标记中哪个属性指定__________

  A、action

  B、method

  C、enctype

  D、onsubmit

  答案:A

  170、定义了表单数据验证的脚本函数validate()之后,对该函数正确的调用形式是__________

  A、在标记中使用onclick="validate()"

  B、在submit按钮标记中使用onclick="validate()"

  C、在标记中使用onsubmit="return validate()"

  D、在标记中使用onsubmit="validate()"

  答案:C

  171、表单提交数据时,若method取值为get,则数据保存到系统数组____里面

  答案:$_GET;

  172、表单界面文件是form.htm,处理表单提交数据的文件是confirm.php,使用标签的哪个属性来引用该php文件_____

  A、enctype

  B、name

  C、ID

  D、action

  答案:D

  173、在a.php文件中存在代码第一页,在b.php文件中如何获取page传递的值___________

  A、$pageno=$_POST[‘page’]

  B、$pageno=$_GET[‘page’]

  C、$pageno=$_SESSION[‘page’]

  D、$pageno=$_FILES[‘page’]

  答案:B

  174、$_GET[]数组只能接收表单提交的数据( )

  答案:错误

  175、在form标记中使用onsubmit调用验证函数时,函数名前面return的作用

  A、阻止函数继续执行下去

  B、没有任何意义,可以去掉的

  C、当用户输入数据不符合要求时,阻止非法数据提交给服务器

  D、以上说法都不正确

  答案:C

  176、关于系统数组$_POST和$_GET,下面说法中错误的是

  A、数据可以提交到系统数组$_POST或者$_GET当中

  B、获取表单元素提交数据时,系统数组$_POST或者$_GET使用的键名下标必须是表单元素的名称name属性的值

  C、系统数组$_GET只能接收保存表单元素提交的数据

  D、系统数组$_POST只能接收保存表单元素提交的数据

  答案:C

  177、若是在标记中存在action="4-1.php"和onsubmit="return validate();",下面说法中错误的是

  A、函数validate()的调用和文件4-1.php的执行都是在点击submit按钮之后进行的

  B、点击submit按钮之后,先执行函数validate(),当所有数据都符合要求之后再运行文件4-1.php

  C、点击submit按钮之后,先执行文件4-1.php,再执行函数validate()

  D、以上说法中有一条是错误的

  答案:C

  178、关于$_POST[uname]中的uname,下面说法正确的是

  A、是某个表单元素name属性的取值

  B、是某个表单元素ID属性的取值

  C、是一个变量

  D、是一个普通的字符串

  答案:A

  179、关于isset()函数,下面说法错误的是

  A、用于判断某个数组元素取值是否为空

  B、返回值是真与假的形式

  C、用于判断某个数组元素或者变量是否存在

  D、若表单method取值post,文本框name为uname,无论文本框是否输入数据,isset($_POST[uname])结果都是真值

  答案:A

  180、关于submit事件,下面说法错误的是

  A、属于表单标记form

  B、属于submit类型的按钮

  C、点击submit按钮时触发

  D、对应的事件属性是onsubmit

  答案:B

  181、若某个文本框name属性取值为txt,不能使用下面哪种形式获取该文本框提交的数据

  A、$_GET["txt"]

  B、$_POST["txt"]

  C、$_POST[txt]

  D、$_POST[txt]

  答案:D

  解析:

  182、下面哪一项不是系统数组

  A、$_FILE

  B、$_POST

  C、$_SESSION

  D、$_GET

  答案:A

  183、下面关于系统数组的描述中,哪一项是错误的

  A、我们已经接触过的所有系统数组的下标都是键名下标

  B、$_SESSION的下标来自于表单元素name属性的取值

  C、对于$_SESSION数组中的元素,通常是在一个文件中定义,在另一个文件中引用

  D、$_SESSION数组中元素的下标是由用户在编写代码时根据需要独立定义的,与其它元素无关

  答案:B

  184、点击“注册”按钮在新窗口中打开文件zhuce.html,需要使用哪个代码实现

  A、onsubmit="window.open(zhuce.html);"

  B、onsubmit="window.open(zhuce.html);"

  C、onclick="window.open(zhuce.html);"

  D、onclick="window.open(zhuce.html);"

  答案:C

  185、要在表单文本框中显示数组元素$row[title]的值,则代码是:

  答案:

  echo$row[title];

  ;

  解析:

  186、判断表单文本框age的数据是否提交到服务器端的方法是______

  A、if($_POST[age]== )

  B、if(isset($_POST[age]))

  C、if($_POST[age]= )

  D、if(isset($_FILES[age]))

  答案:A

  187、代码if(document.getElementById(jieshao).value=)用于判断id为jieshao的表单元素值是否为空

  答案:错误

  188、使用函数move_uploaded_file()时只需提供一个参数

  答案:错误

  189、表单中有文件域元素时,下面哪个说法错误________

  A、

  中method属性取值可以是get

  B、

  中enctype属性取值为multipart/form-data

  C、文件域元素需要设置name属性

  D、可以有多个文件域元素

  答案:A

  190、存在表单文件域元素fname,系统数组$_FILES[fname]中的内容不包括___

  A、上传文件的名称

  B、上传文件的类型

  C、上传文件的大小

  D、上传文件的内容

  答案:D

  191、进行文件上传时,文件相关信息存放在系统数组____中

  答案:$_FILES;

  192、以下系统数组中可以使用两个下标的是___________

  A、$_POST

  B、$_GET

  C、$_FILES

  D、$_SESSION

  答案:C

  193、函数move_uploaded_file()只需要一个参数( )

  答案:错误

  194、若存在文件域元素名称为f1,$_FILES[‘F1’]是一个数组( )

  答案:正确

  195、进行文件上传时,需要在form标记中设置属性enctype的取值是

  A、multipart/form-data

  B、text/plain

  C、application/x-www-form-urlencoded

  D、以上都不是

  答案:A

  196、关于函数move_uploaded_file(),下列说法错误的是

  A、该函数需要指定两个参数

  B、第二个参数需要同时指定文件存储的位置和要保存文件的名称

  C、第一个参数需要指定文件的临时存储位置和临时名称

  D、以上说法都是错误的

  答案:D

  197、关于系统数组$_FILES,第二个下标不包含下面哪一项

  A、tmpname

  B、size

  C、name

  D、type

  答案:A

  198、关于多文件上传功能中,下面说法错误的是

  A、文件域元素中必须添加multiple属性

  B、可以同时选择不同文件夹中的文件

  C、$_FILES[file1][';name]是一个数组

  D、文件域元素的name属性取值必须带有[]

  答案:B

  199、$_FILES{"touxiang"]["type"]作用是

  A、获取上传文件的类型

  B、获取上传文件的大小

  C、获取上传文件的名称

  D、获取上传文件的临时存储信息

  答案:A

  200、完成文件上传功能,在标签中使用哪个属性设置编码_____

  A、enctype

  B、name

  C、ID

  D、action

  答案:A

  201、在A网页上创建了一个Session变量:$____SESSION["user"]="张三",在B网页上要输出这个Session变量的值,应使用。

  答案:echo $_SESSION["user"];

  202、在同一个网站的不同文件之间传递数据的机制是__________

  A、session

  B、cookie

  C、application

  D、post

  答案:A

  203、下面哪个系统数组不用于接收表单提交的数据________

  A、$_SESSION

  B、$_FILES

  C、$_POST

  D、$_GET

  答案:A

  204、关于session机制的描述中正确的是_____

  A、用户的session都保存在浏览器端

  B、一旦某个页面向session中提供了数据,当前网站中在该页面之后执行的页面文件都可以根据需要从中获取该数据

  C、不同网站的页面之间可以通过session机制来传递数据

  D、session中存放的是所有用户的共用数据

  答案:B

  205、点击超链接可以向服务器提交数据( )

  答案:正确

  206、链接打开文件count.php时使用键名uname提交数据“liuhong”,超链接href属性的取值为

  A、href="count.php"?uname="liuhong"

  B、href="count.php?uname:liuhong"

  C、href="count.php?uname=liuhong"

  D、href="count.php"?uname:"liuhong"

  答案:C

  207、关于session机制的描述中错误的是

  A、服务器可通过sessionID来区分各个不同用户

  B、一旦某个页面向session管道中提供了数据,当前网站中在该页面之后执行的页面文件都可以根据需要从管道中获取该数据

  C、不同网站的页面之间可以通过session机制来传递数据

  D、要提供数据的页面和要获取数据的页面都要启用session

  答案:C

  208、下面说法中错误的是

  A、变量有生命周期

  B、session有生命周期

  C、session产生于用户开始访问一个网站时

  D、一个session中可以保存多个用户的信息

  答案:D

  209、在PHP中,有两个函数与cookie操作有关。其中____用来设置cookie变量内容, ____用来读取cookie变量内容。

  答案:setcookie;$_COOKIE;

  210、能够在同一网站不同页面之间传递数据的机制是____,在程序代码开始处启用该机制时需要使用的代码是____

  答案:session;session_start();

  211、Session可以在不同网站的页面之间传递数据( )

  答案:错误

  212、mysql数据库中查询数据用select语句

  答案:正确

  213、以下说法不正确的是

  A、模糊查询使用的关键字是like

  B、排序查询asc是降序,desc是升序

  C、分页查询使用的关键字是limit

  D、mysql如果只安装服务不安装界面也可以正常使用

  答案:B

  214、在用浏览器查看网页时出现404错误可能的原因是

  A、页面源代码错误

  B、文件不存在

  C、与数据库连接错误

  D、权限不足

  答案:B

  215、安装MySQL数据库之后,默认使用的是根用户root

  答案:正确

  216、卸载MySQL时,说法正确的是

  A、只要在控制面板中卸载软件即可

  B、在控制面板中卸载软件后,清理完注册表信息即可

  C、先删除系统盘符下的文件夹,再清理注册表信息,最后卸载软件

  D、先在控制面板中卸载软件,然后清理注册表信息,最后删除系统盘符下的相关文件夹

  答案:D

  217、MySQL服务器有一个超级管理员账号,其名称是( )

  A、admin

  B、root

  C、sa

  D、Administrator

  答案:B

  218、mysqli中返回结果集中记录总数的函数是( )

  A、fetch_row

  B、fetch_assoc

  C、num_rows

  D、field_count

  答案:C

  219、访问mysql数据库时,用来选择并打开指定数据库的方法是_________

  A、mysqli_query()

  B、mysqli_connect()

  C、mysqli_select_db ()

  D、mysqli_num_rows()

  答案:C

  220、若是在某次访问数据库的操作中,需要用到如下四个函数

  ①mysqli_num_rows() ②mysqli_select_db()、

  ③mysqli_connet() ④mysqli_query()

  则使用这四个函数的顺序是___________

  A、①②③④

  B、②③①④

  C、③②④①

  D、③④①②

  答案:C

  221、PHP中选择打开数据库的方法是______

  A、mysqli_connect()

  B、mysqli_select_db()

  C、mysqli_query()

  D、mysqli_num_rows()

  答案:B

  222、查询用户名和密码信息是否存在时,关于查询结果记录集$result的说法错误的是____

  A、该记录集中的记录数只能是0或者1

  B、该记录集中的记录数无法预知

  C、若记录数是0,说明用户输入的账号或者密码信息有误

  D、若记录数是1,说明用户输入的账号和密码信息正确

  答案:B

  223、访问mysql数据库时,从查询结果记录集中获取一条记录的方法是

  A、mysql_num_rows()

  B、mysql_select_db()

  C、mysql_fetch_array()

  D、mysql_fetch_Array()

  答案:C

  224、函数mysql_fetch_array()的作用是

  A、获取一个数组中的元素

  B、从查询结果记录集中获取一条记录并以对象方式存储访问

  C、从查询结果记录集中获取一条记录并以数组方式存储访问

  D、以上说法都不正确

  答案:C

  225、下面操作MySQL数据库的方法中,哪个返回值可能是false

  A、mysql_fetch_array()

  B、mysql_select_db()

  C、mysql_num_rows()

  D、mysql_fetch_Array()

  答案:A

  226、查询数据表时,限制获取查询结果中序号为6、7、8的记录,需要使用的子句是

  A、limit 6,8

  B、limit 6,2

  C、from 6 to 8

  D、start 6 to 8

  答案:B

  227、MySQL数据库操作中,Create New Schema命令的作用是

  A、创建数据表

  B、创建数据表中一个列名

  C、创建数据库

  D、以上说法都不正确

  答案:C

  228、关于数据库的导入操作,下列说法中错误的是

  A、使用的命令是Restore

  B、导入过程中可以更改原来数据库的名称

  C、导入过程中必须要选择忽略错误选项,否则导入无法完成

  D、若安装数据库时选择的字符集是GBK,则导入过程中,必须要选择字符集是GBK

  答案:D

  229、关于PHP访问MySQL数据库的各种方法,下列说法中正确的是

  A、在使用mysql_connect()连接数据库成功之后,就可以直接访问数据表完成各种操作

  B、mysql_num_rows()的作用是获取查询结果记录集中记录的个数,其参数可以省略

  C、mysql_select_db()的作用是选择打开指定的数据库,可以只指定一个参数

  D、mysql_query()函数只能执行查询语句,不能执行插入、删除、更新语句

  答案:C

  230、假设用户在登录时,输入的用户名信息保存在变量$emailaddr中,密码保存在变量$psd中,查询数据表usermsg中是否存在该用户名和密码信息,需要定义的查询语句是

  A、select * from usermsg where emailaddr=$emailaddr or psd=$psd

  B、select * from usermsg where emailaddr=$emailaddr and psd=$psd

  C、select * from usermsg where emailaddr=$emailaddr and psd=$psd

  D、select * from usermsg where emailaddr=$emailaddr or psd=$psd

  答案:B

  231、查询用户名和密码信息是否存在时,关于查询结果记录集$result的说法错误的是

  A、该记录集中的记录数只能是0或者1

  B、该记录集中的记录数无法预知

  C、若记录数是0,说明用户输入的账号或者密码信息有误

  D、若记录数是1,说明用户输入的账号和密码信息正确

  答案:B

  232、要获取记录集$result中的记录数,需要使用代码

  A、count($result)

  B、mysql_num_row($result)

  C、mysql_nums_rows($result)

  D、mysql_num_rows($result)

  答案:D

  233、MySQL中使用Select语句查询时,要限制返回的行数可使用____子句。

  答案:limit;

  234、访问mysql数据库时,从查询结果记录集中获取一条记录的方法是__________

  A、mysqli_num_rows()

  B、mysqli_select_db()

  C、mysqli_fetch_array()

  D、mysqli_query()

  答案:C

  235、在mysql Administrator界面下,Create New Schema命令的作用是_____

  A、创建数据库

  B、创建数据表中一个列名

  C、创建数据表

  D、以上说法都不正确

  答案:A

  236、关于数据库的导入操作,下列说法中错误的是_____

  A、使用的命令是Restore

  B、导入过程中可以更改原来数据库的名称

  C、导入过程中必须要选择忽略错误选项,否则导入无法完成

  D、使用的命令是Backup

  答案:D

  237、假设用户在登录时,输入的用户名信息保存在变量$uname中,密码保存在变量$psd中,查询数据表user中是否存在该用户名和密码信息,需要定义的查询语句是_______

  A、select * from user where uname=$uname or psd=$psd

  B、select * from user where uname=$uname and psd=$psd

  C、select * from user where uname=$uname and psd=$psd

  D、select * from user where uname=$uname or psd=$psd

  答案:B

  238、要获取记录集$result中的记录数,需要使用代码______

  A、count($result)

  B、mysqli_num_row($result)

  C、mysqli_nums_rows($result)

  D、mysqli_num_rows($result)

  答案:D

  239、MySQL数据库的根用户是____

  答案:root;

  240、下面的程序使用mysqli内置函数连接数据库,并将表lyb中的记录显示在网页中,将1234处填写完整

  241、下面的程序用来删除记录,当用户单击“删除”超链接时,记录将被删除,将下面1234处的代码补充完整

  1.isset 2$_GET[“id”] 3.$id 4.$sql,$conn

  242、下面的程序是获取到下面表单发送来的信息并按以下格式输出

  将下面的服务器端的程序补充完整,在1234处填写合适的代码

  $user=$_POST[“user”];

  $pwd=$_POST[“pwd”];

  $addr=$_POST[“addr”];

  echo $user.“您好,您住在”.$addr.”,您的密码是“.$pwd;

  243、1)写一个函数,函数名为Trimtit,有两个参数$tit,$n,函数的功能是根据指定的长度截取原始字符串。

  如果原始字符串$tit的长度大于指定长度$n,则返回从左端截取的字符串并加“…”

  如果长度未超过指定长度,则返回原始字符串。

  2)并编写测试代码,使用函数实现字符串的截取。

  答案:<?php  function Trimtit($tit,$n){if(strlen($tit)>$n){

  echo "...".substr($tit,0,$n);

  }

  else

  echo $tit;

  }

  Trimtit("tit664848",5);

  解析:

  244、编写一个函数,输入是5个分数,输出是去掉一个最高分和去掉一个最低分后的平均分。

  答案:<?php  function num($a,$b,$c,$d,$e){

  $s=array($a,$b,$c,$d,$e);

  $max=0;

  $min=$s[0];

  $abc=0;

  for($i=0;$i

  if($max<=$s[$i]) {

  $max=$s[$i];

  }

  if($min>=$s[$i]) {

  $min=$s[$i];

  }

  $abc+=$s[$i];

  }

  $abc=($abc-$min-$max)/5;

  echo $abc;

  }

  num(11,22,33,44,55);

  解析:

  245、使用for循环,完成1+2+3+4+…+100求和过程,使用变量$sum表示结果并输出。

  答案:<?php  $num=0;

  for($i=1;$i<=100;$i++){

  $num+=$i;

  }

  echo $num;

  imagecreatetruecolor

  输出真彩色图像

  246、下面哪一个不是函数imagettftext()的参数_______

  A、输出字符的坐标

  B、输出字符的角度

  C、字号

  D、加粗输出的字符

  答案:D

  247、创建真彩色图像,使用的函数是____

  答案:

  imagecreatetruecolor()

  ;

  248、代码imagecolorallocate($img1,255,255,0)的作用是创建____色

  答案:黄;

  249、imageline()函数能够在画布中画线,需要四个参数( )

  答案:错误

  250、用于创建一幅真彩色图像的函数是

  A、imagecreatetruecolor()

  B、imagecreate()

  C、imagecolorallocate()

  D、imagefill()

  答案:A

  251、用于为指定图像分配颜色的函数是

  A、imagecreatetruecolor()

  B、imagecreate()

  C、imagecolorallocate()

  D、imagefill()

  答案:C

  252、下面哪一个不是函数imagettftext()的参数

  A、字号

  B、输出字符的角度

  C、输出字符的颜色

  D、加粗输出的字符

  答案:D

  253、函数imagesetpixel()的作用是

  A、在指定位置画一条直线

  B、在指定位置设置一个单一像素

  C、使用指定的颜色填充指定的区域

  D、新建一个基于调色板的图像

  答案:B

  254、若$color表示蓝色,代码imagefill($img,0,0,$color)作用是

  A、设置画布$img中坐标0,0的点为蓝色

  B、为画布填充蓝色

  C、在画布中画蓝色直线

  D、输出画布

  答案:B

  255、用于为画布分配颜色的函数是_____

  A、imagefill()

  B、imagecreate()

  C、imagecolorallocate()

  D、imagecolor()

  答案:D