PHP选择简答终极版_第1页
PHP选择简答终极版_第2页
PHP选择简答终极版_第3页
PHP选择简答终极版_第4页
PHP选择简答终极版_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——PHP选择简答终极版第6章自测题一、单项选择题

1.PHP是哪种类型的语言()。

A.编译型B.解释型C.两者都是D.两者都不是2.下面功能PHP无法实现的是()。

A.服务器端脚本运行B.命令行脚本运行

C.客户端图形界面(GUI)程序D.浏览器端执行DOM操作3.下面说法不正确的是:()

A.PHP有4种标量类型:布尔型(boolean)、整型(integer)、浮点型(float)、字符串(string)

B.浮点型(float)与双精度型(double)是同一种类型C.复合类型包括:数组(array)、对象(object)、资源(resource)D.伪类型:混合型(mixed)、数字型(number)、回调(callback)4.若$y,$x为int型变量,则执行以下语句后,$y的值为()。

A.1B.25.下面代码的输出结果是()。

C.3

D.0

A.helloB.worldC.NULLD.unset6.下面哪个表达式不能将两个字符串$s1和$s2串联成一个单独的字符串()。A.$s1+$s2B.“{$s1}{$s2}〞C.$s1.$s2D.implode(‘’,array($s1,$s2))

7.getDate()函数返回的值的数据类型是()。A.整型B.浮点型C.数组D.字符串E.布尔型

8.下面哪个选项不属于正确的PHP代码的开始和终止标记()。A.B.C.D.E.

9.PHP中,单引号和双引号所包围的字符串有什么区别?()A.单引号速度快,双引号速度慢B.双引号速度快,单引号速度慢

C.两者没有速度区别

D.双引号解析其中以$开头的变量,而单引号不解析E.单引号解析其中\\r\\t等转义字符,而双引号不解析10.PHP中的错误控制操作符是()。

A.%B.$C.#D.@11.定义常量的函数是()。

A.define()B.constant()C.print()D.echo()12.下面对于echo,print的描述正确的是()。

A.echo,print都可以打印多个参数C.echo可以打印多个参数,print不可以13.执行下面的代码的结果是什么?()

A.booleanB.boolean0false

14.下面程序中$b的输出结果是()。

A.4B.5

15.下面代码的执行结果是()。

A.0B.316.写出下面代码的结果()。>0;echo2>>1;echo3

A.012B.10617.下面的语句输出结果()。

D.'EOT'testbar

A.$foobar;B.'EOT'$foobarEOT;C.testbar;EOT;

18.以下代码的执行后是,$result值为()。A.null二、简答题

B.true

C.false

D.1

1.__FILE__表示什么意思?

被称为PHP魔术常量,返回当前执行PHP脚本的完整路径和文件名,包含一个绝对路径2.$b?$a-$b:$b*2;echo$c;?>

该段代码输出是_____8________3.

该段代码输出是_abcdeok____________4.写出下面代码执行的结果。121018

5.isset()和empty()的区别是什么?对不同数据的判断结果,包括$a=0;$a='0';$a='';$a=false;$a=null。

Isset判断变量是否存在,假使存在则返回真,empty判断变量是否为空,假使为空则返回真。Isset判断:true,true,true,true,false。Empty判断:true,true,true,true,true。

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

第7章自测题一、单项选择题

1.以下程序运行结果为:()。

A.nullB.havevalue提醒错误

2.以下程序运行结果为()。

A.str>str1B.str

echo\}?>

A.trueB.falseC.程序运行出错D.根据版本来定4.哪一个语言结构最能代表以下多路分支if语句的选择结构()。

A.没有default的switch语句B.一个递归的函数调用C.一个while语句D.它是唯一的规律结构E.使用default从句的switch语句

5.哪一个三元运算符相当于此脚本()。11){

if($c==10}else{$x=1;}}}?>

A.$x=($a11||$c==1

B.$x=(($a

$result=4;}else{

$result=5;}

C.3

D.4

E.5

A.1B.2

7.下面代码的执行结果是()。

A.0123456789二、练习题

B.012345678910C.无输出D.死循环

1.下面的程序输出是什么?0;$int_i--){$int_a=$int_a*$int_i;}}

factorial();echo$int_a;?>5

2.求$a,$b,$c三个数中的最大值和最小值?echomax($a,$b,$c);echomin($a,$b,$c);

3.for($k=0;$k=1;$k++);和for($k=0;$k==1;$k++)的结果是什么?for(k=0;k=1;k++);执行次数为无限次。for(k=0;k==1;k++);执行次数为0次

4.写出以下程序运行的结果。

结果:________1,1_________

结果:_____4,4____________

第8章自测题一、单项选择题

1.以下代码执行结果为()。

A.HelloB.phpmysql!!C.HelloHellomysql!!

2.执行完以下代码后,变量$num的值为()。

A.10B.20C.30

3.以下代码执行后,输出结果正确的是()。

A.1B.2

C.运行错误4.以下代码执行结果为()。

D.错误

A.phperB.hellophperC.hello5.以下程序运行结果为()。

A.5+3+1=9B.1+5+3=9C.提醒错误,并有显示:+3+1=4D.96.下面代码参与下面那个函数后返回TRUE:()。return?=='A';

A.、ord(65)B.chr(65)C.65+''7.PHP程序使用utf-8编码,以下程序输出结果是()。

D.''+65

A.9B.13C.18D.178.以下那个选项是正确的引用文件的方法()。

A.require和includeB.require和functionC.define和includeD.function和include二、编程题

1.写一个函数实现字符串翻转。PHP函数strrev()或者functionstr($str){

$len=strlen($a);$b=\

for($i=$len-1;$i>=0;$i--){

$b.=$a[$i];}

return$b;}

2.写出以下代码的输出结果。

$variable=10;

echo“myfunc($variable)=〞.myfunc($variable);?>10myfunc(10)=

3.下面代码执行完成后的结果是什么?12

4.请写一个函数将1234567890转换成1,234,567,890,即每3位用逗号隔开的形式。$str=strrev($str);$arr=str_split($str,3);$str=strrev(implode($arr,','));return$str;

5.语句include和require的区别是什么?为避免屡屡包含同一文件,可用什么语句代替?1、PHP程序执行到require()时,只会读取一次档案,故常放在程序开头,档案引入后PHP会将网页档重新编译,让引入档成为原先网页的一部分。

2、PHP程序执行到include()时,每次皆会读取档案,故常用于流程控制的区段,如条件判断或循环中。

3、require():无条件包含,假使文件不存在,会报出一个fatalerror.脚本中止执行4、include():有条件包含,假使文件不存在,会给出一个warning,但脚本会继续执行5、推荐使用require_once()和include_once(),可以检测文件是否有重复包含。

6.请写出以下PHP代码的执行结果。

487104

return$var2;}

$my_var=5;

echofoo($my_var).\echo$my_var.\echo$var1.\echo$var2.\$bar='foo';$my_var=10;

echo$bar($my_var).\

第9章自测题一、单项选择题

1.下面的脚本运行以后,$array数组所包含的值是()。$v){$v=2;}?>

A.array('2','2')B.array('1','1')C.array(2,2)D.array(Null,Null)

2.假使你想对一个数组进行排序,排序的方式是依照元素的值从小到大排序。同时,需要在排序后保持关键字与值的对应关系。下面哪个函数实现这个功能()。

A.ksort()B.asort()C.krsort()D.sort()E.usort()

3.下面代码的输出是()。

A.12345B.12245C.22345D.11345E.array

4.在PHP中哪个变量数组总是包含所有从客户端发出的cookies数据()。A.$_COOKIESB.$_COOKIEC.$_GETCOOKIED.$_GETCOOKIES5.以下关于key()和current()函数的表达,请找出两个正确的答案()。A.key()函数用来读取目前指针所指向资料的索引值B.key()函数是取得目前指针位置的内容资料

C.current()函数用来读取目前指针所指向资料的索引值D.current()函数是取得目前指针位置的内容资料6.问$x的结果是()。

A.array(0,1);B.array(0,1,2,3);C.array(3,4);D.代码有错

7.要循环操作非顺序索引的数组时,可以使用以下哪个函数来读取数组当前元素的索引值()。

A.key()B.next()C.prev()D.current()

8.以下程序运行结果为()。

A.$A[0]=Hello$A[1]=Hello$A[2]=$A[3]=$A[4]=

B.$A[0]=Hello$A[1]=Hello$A[2]=Hello$A[3]=$A[4]=C.$A[0]=$A[1]=$A[2]=$A[3]=$A[4]=D.程序运行提醒错误

9.以下代码的运行结果为()。

A.2B.3C.4D.110.下面哪个选项没有将john添加到users数组中()。

A.$users[]='john';B.array_push($users,'john');C.$users||='john';D.array_unshift($users,'john');11.输出为Mozilla/4.0(compatible;MSIE5.01;WindowNT5.0)时,可能的输出语句是()。A.$_SERVER['HTTP_USER_AGENT_TYPE'];B.$_SERVER['HTTP_USER_AGENT'];C.$_SERVER['USER_AGENT'];D.$_SERVER['AGENT'];

12.下面代码的输出正确的是()。5,5=>8,22,2=>'8',81);echo$a[7];echo$a[6];echo$a[3];?>

A.空2281B.空812213.下面代码的输出结果是()。

A.helloB.空空C.报错D.hellohello14.对于正面的代码,能够正确得到结果'yellow'的代码是()。'red','banana'=>'yellow');?>

A.echo\B$fruits['banana']\

C.echo\D{$fruits[banana]}\

15.以下代码的执行后是,$result值为()。

..

echoecho

\\

bananabanana

isis

A.aB.falseC.trueE.c

16.输出的是()。

A.3B.falseC.nullE.0二、练习题

D.b

D.1

1.简单描述asort()、ksort()、rsort()的作用分别是什么。asort()依照键值对关联数组进行升序排序

ksort()函数对关联数组依照键名进行升序排序。

rsort()函数对数值数组进行降序排序。(该函数为array中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。)

2.用PHP写一段代码,实现不使用第3个变量,交换$a,$b的值,$a,$b的初始值自己定。$a=“abcd〞;

$b=“1234″;

echo“初始化时a=$a,b=$b〞;

$a=$a.$b;$b=strlen($b);

$b=substr($a,0,(strlen($a)–$b));$a=substr($a,strlen($b));echo“交换后a=$a,b=$b

〞;

3.请将二维数组依照name的长度进行重新排序,依照顺序将id赋值(从1开始)。0,‘name’=>‘123’),array(‘id’=>0,‘name’=>‘1234’),

array(‘id’=>0,‘name’=>‘1235’),array(‘id’=>0,‘name’=>‘12356’),array(‘id’=>0,‘name’=>‘123abc’));

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

$c[]=$val['name'];}

functionaa($a,$b){

if(strlen($a)==strlen($b))return0;returnstrlen($a)>strlen($b)?-1:1;}

usort($c,'aa');$len=count($c);

for($i=0;$i';

4.写一个函数,算出两个文件的相对路径。如$a='/a/b/c/d/e.php';$b='/a/b/12/34/c.php';

计算出$b相对于$a的相对路径应当是'../../c/d'。

$ainfo=parse_url($a);$binfo=parse_url($b);$apath=ltrim($ainfo['path'],?/');$bpath=ltrim($binfo['path'],?/');$arr=explode(?/?,$apath);$brr=explode(?/?,$bpath);

$count=count($arr);for($i=0;$i=$i;$j–){

If($arr[$j]>$arr[$j+1]){

$tmp=$arr[$j];$arr[$j]=$arr[$j+1];$arr[$j+1]=$tmp;}}}}

6.输出用户的IP地址,并且判断用户的IP地址是否在00~50

范围内。

Echo$ip=getenv(?REMOTE_ADDR?);$ip=Str_replace(?.?,〞\

If($ip

函数参数列表中少了逗号、“newArray()〞是不正确的、行末用了冒号而不是分号、foreach中没有用“=>〞及用“+〞来连接字符串8.有下面一段程序:$val){$val=}?>

问题1:程序执行时,每一次循环终止后变量$data的值是什么?请解释。问题2:程序执行完后,变量$data的值是什么?请解释。文中所述数组$data的完整表达形式如下:$data=array(

0=>'a',//内存空间A1=>'b',//内存空间B2=>'c',//内存空间C);

循环过程:

$key=0;$val='a';//$val复制了变量$data[0]的值。这个赋值导致变量$val创立并指向一个新的内存空间X;$val和$data[0]指向不同的内存空间。

$val=//$val成为一个引用,直接指向变量$data[0](原始数组第一个单元)。$val和$data[0]指向一致的内存空间A。

$key=1;$val='b';//赋值操作导致$val所指向的内存空间的值被改变了;$data[0]指向一致的内存空间,所以$data[0]的值也改变了。

$val=//$val还是一个引用,不过现在指向变量$data[1](原始数组其次个单元)。$val和$data[1]指向一致的内存空间B。

$key=2;$val='c';//赋值操作导致$val所指向的内存空间的值被改变了;$data[1]指向一致的内存空间,所以$data[1]的值也改变了。

$val=//$val还是一个引用,不过现在指向变量$data[2](原始数组第三个单元)。$val和$data[2]指向一致的内存空间C。

第10章自测题一、单项选择题

1.如何声明一个PHP的用户自定义类?()

A.?>

C.?>2.下面哪一项不是PHP中面向对象的机制?()

A.类B.属性、方法C.单一继承D.多重继承3.如何让一个对象实例调用自身的该对象的方法函数“mymethod〞?()A.$self=>mymethod();B.$this->mymethod();C.$current->mymethod();D.$this::mymethod();4.下面哪项描述是错误的?()

A.父类的构造函数与析构函数不会自动被调用

B.成员变量需要用publicprotectedprivate修饰,在定义变量时不再需要var关键字C.父类中定义的静态成员,不可以在子类中直接调用D.包含抽象方法的类必需为抽象类,抽象类不能被实例化5.假使成员没有声明限定字符,属性的默认值是()。

A.privateB.protectedC.publicD.final6.PHP中调用类文件中的$this表示()。

A.用本类生成的对象变量B.本页面C.本方法D.本变量

7.在PHP的面象对象中,类中定义的析构函数是在()调用的。

A.类创立时B.创立对象时C.删除对象时D.不自动调用8.以下是一个类的声明,其中有两个成员属性,对成员属性正确的赋值方式是()。one=$value;}}

$demo=newDemo();?>

A.$demo->one=\B.Demo::$two=\C.Demo::setOne(\D.$demo->two=\9.在PHP5的类的定义中,无法使用3P修饰的内容是()。

A.属性B.静态方法C.常量D.方法

(1)$inst->cmstop('welcome','to');WelcomeToCmstop(2)$inst->ads()->ade();BrophpByPhp

5.面向对象中接口和抽象类的区别及应用场景?

、有抽象方法的类叫做抽象类,抽象类中不一定有抽象方法,抽象方法必需使用abstract关键字定义。

2、接口中全部是抽象方法,方法不用使用abstract定义。3、当多个同类的类要设计一个上层,寻常设计为抽象类,当多个异构的类要设计一个上层,寻常设计为接口。

6.serialize()/unserialize()函数的作用是什么?

这个函数作用就是序列化数据,返回一个可存储的字符串,该函数有利于存储或传递PHP的值,同时不丢失其类型和结构

unserialize()就是把序列化的字符串转换回PHP的值。三、试验题

1.请简单写一个类,实例化这个类,并写出调用该类的属性和方法的语句。2.用面向对象来实现A对象继承B和C对象。3.通过static关键字限制一个类最多只能创立出一个实例化对象(提醒:单态设计模式)。4.使用面向对象中封装、继承、多态三大特性及接口的应用,实现在同一个电脑主板的PCI插槽中,安装声卡、网卡和显示卡等符合PCI规范的不同功能的PCI设备。当插入不同的PCI设备卡时,就开启被插入卡的功能(提醒:声明一个PCI接口、声卡类、网卡类、显示卡类、主板类、安装工人类,其中每个PCI设备都要实现PCI接口的规范)。

第11章自测题一、单项选择题

1.以下代码运行结果为()。

A.PHPisLinuxB.isLinuxC.PHPisinuxD.PHPis2.以下哪个函数是将数组转换为字符串?()

A.imploed()B.explode()C.arsort()D.natsort()3.以下代码运行的结果为()。

A.This,course,is,very,easy,!B.Thiscourseisveryeasy!C.Thiscourseisveryeasy!,D.提醒错误4.以下程序横线处应当使用的函数为()。

输出结果为:Array([0]=>@lampbrother[1]=>com[2]=>cn)

A.strchr,split,var_dumpB.strstr,explode,print_rC.strstr,explode,echoD.strchr,split,var,_dump5.PHP中,以下哪个函数是将字符串前后颠倒?()

A.strrev()B.strrpos()C.strstr()D.strfirst()6.以下字符的长度是()。

A.9B.5C.7D.37.将字符串中所有英文单字的开头字母转换为大写的函数应当是()。

A.ucfirst()B.strtolower()C.strtoupper()D.ucwords()

A.报错B.只打印第一条记录C.循环换行打印全部记录D.无任何结果

7.假设有一个数据库mydb中有一个表tb1,表中有6个字段,主键为ID,有10条记录,ID从0到9,以下代码输出结果是()。第23章自测题一、单项选择题

1.在PHP中哪个变量数组总是包含所有客户端发出的Cookies数据()。A.$_COOKIES

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论