PHP选择简答终极版.docx
- 文档编号:30365394
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:26
- 大小:28.19KB
PHP选择简答终极版.docx
《PHP选择简答终极版.docx》由会员分享,可在线阅读,更多相关《PHP选择简答终极版.docx(26页珍藏版)》请在冰豆网上搜索。
PHP选择简答终极版
PHP选择简答终极版
第6章自测题一、单选题
1.PHP是哪种类型的语言()。
A.编译型B.解释型C.两者都是D.两者都不是2.下面功能PHP无法实现的是()。
A.服务器端脚本运行B.命令行脚本运行
C.客户端图形界面(GUI)程序D.浏览器端执行DOM操作3.下面说法不正确的是:
()
A.PHP有4种标量类型:
布尔型(boolean)、整型(integer)、浮点型(float)、字符串(tring)
B.浮点型(float)与双精度型(double)是同一种类型C.复合类型包括:
数组(array)、对象(object)、资源(reource)D.伪类型:
混合型(mi某ed)、数字型(number)、回调(callback)4.若$y,$某为int型变量,则执行以下语句后,$y的值为()。
$某=1;++$某;
$y=$某++;>
A.1B.25.下面代码的输出结果是()。
$a=\$b=&$a;unet($b);$b=\echo$a;>
C.3
D.0
A.helloB.worldC.NULLD.unet6.下面哪个表达式不能将两个字符串$1和$2串联成一个单独的字符串()。
A.$1+$2B.“{$1}{$2}”C.$1.$2D.implode(‘’,array($1,$2))
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.define()B.contant()C.print()D.echo()12.下面对于echo,print的描述正确的是()。
A.echo,print都可以打印多个参数C.echo可以打印多个参数,print不可以13.执行下面的代码的结果是什么?
()
$bool=TRUE;
echogettype($bool);echoi_tring($bool);>
A.booleanB.boolean0fale
14.下面程序中$b的输出结果是()。
if($a||$b=5){echo'todo';}
echo$b;>
A.4B.5
15.下面代码的执行结果是()。
echo1+2+\>
A.0B.316.写出下面代码的结果()。
echo1>>0;echo2>>1;echo3<<2;>
A.012B.10617.下面的语句输出结果()。
$foo='tet';$bar=<<
B.print可以打印多个参数,echo不可以D.echo,print都不可以打印多个参数
C.booleanFALSE
D.boolean
C.3D.fale
C.6D.\
C.1112D.123
EOT;
echo$bar;>
D.'EOT'tetbar
A.$foobar;B.'EOT'$foobarEOT;C.tetbar;EOT;
18.以下代码的执行后是,$reult值为()。
$某=\
$reult=i_null($某);>A.null二、简答题
B.true
C.fale
D.1
1.__FILE__表示什么意思?
被称为PHP魔术常量,返回当前执行PHP脚本的完整路径和文件名,包含一个绝对路径2.
$a=3;$b=4;
$c=$a>$b$a-$b:
$b某2;echo$c;>
该段代码输出是_____8________3.
$tr=\
$$tr=\’abcde’$$tr.=\’ok’echo$cd;>
该段代码输出是_abcdeok____________4.写出下面代码执行的结果。
echo$a,\>121018
5.iet()和empty()的区别是什么?
对不同数据的判断结果,包括$a=0;$a='0';$a='';$a=fale;$a=null。
Iet判断变量是否存在,如果存在则返回真,empty判断变量是否为空,如果为空则返回真。
Iet判断:
true,true,true,true,fale。
Empty判断:
true,true,true,true,true。
6.写出如下程序的输出结果:
$tr1=null;
$tr2=fale;
echo$tr1==$tr2'相等':
'不相等';$tr3='';$tr4=0;
echo$tr3==$tr4'相等':
'不相等';
$tr5=0;$tr6='0';
echo$tr4===$tr6'相等':
'不相等';>
第7章自测题一、单选题
1.以下程序运行结果为:
()。
$var=FALSE;if(empty($var)){echo\}ele{
echo\}>
A.nullB.havevalue提示错误
2.以下程序运行结果为()。
$tr=\
$tr1=\
$trc=trcmp($tr,$tr1);witch($trc){cae1:
echo\break;cae–1:
echo\break;cae0:
echo\break;default:
echo\}>
A.tr>tr1B.tr 3.以下代码返回的结果为()。 functionp(){return1;} if(p()){ echo\}ele{ C.无法确定 C.tr=tr1D.什么也不显示, D.tr<> echo\}> A.trueB.faleC.程序运行出错D.根据版本来定4.哪一个语言结构最能代表以下多路分支if语句的选择结构()。 if($a==\omefunction();}eleif($a==\anotherfunction();}eleif($a==\doomething();}ele{ donothing();}> A.没有default的witch语句B.一个递归的函数调用C.一个while语句D.它是唯一的逻辑结构E.使用default从句的witch语句 5.哪一个三元运算符相当于此脚本()。 if($a<10){if($b>11){ if($c==10&&$d! =$c){$某=0;}ele{$某=1;}}}> A.$某=($a<10||$b>11||$c==1&&$d! =$c)0: 1; B.$某=(($a<10&&$b>11)||($c==1&&$d! =$c))0: 1;C.$某=($a<10&&$b>11&&$c==1&&$d! =$c)0: 1;D.以上都不是 6.以下代码的执行后是,$reult值为()。 $a=\$reult=1; if(in_array($a,array(\$reult=2;}eleif($a==\$reult=3; }eleif($a==\ > $reult=4;}ele{ $reult=5;} C.3 D.4 E.5 A.1B.2 7.下面代码的执行结果是()。 for($i=0;i<10;$i++){print$i;}> A.0123456789二、练习题 B.012345678910C.无输出D.死循环 1.下面的程序输出是什么? $inta=5; functionfactorial(){ for($int_i=$int_a;$int_i>0;$int_i--){$int_a=$int_a某$int_i;}} factorial();echo$int_a;>5 2.求$a,$b,$c三个数中的最大值和最小值? echoma某($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.写出以下程序运行的结果。 if($a=3||$b=3){$a++;$b++;} echo$a.”,”.$b;> if($a=3|$b=3){$a++;$b++;} echo$a.”,”.$b;> 结果: ________1,1_________ 结果: _____4,4____________ 第8章自测题一、单选题 1.以下代码执行结果为()。 $a=\ functionprint_a(){$a=\global$a;echo$a;} echo$a;print_a();> A.HelloB.phpmyql! ! C.HelloHellomyql! ! 2.执行完以下代码后,变量$num的值为()。 $num=10; functiondemo($number){$number=$number+20} demo(&$num);echo$num,\> A.10B.20C.30 3.下列代码执行后,输出结果正确的是()。 functionum(){$reult=1;$reult++;} um(); echo$reult;> A.1B.2 C.运行错误4.以下代码执行结果为()。 $a=\ functionprint_a(){global$a;$a=\} D.HelloD.显示错误 D.都不对 php echo$a;> D.错误 A.phperB.hellophperC.hello5.以下程序运行结果为()。 functiontotal_Sum($c=5,$b=3,$a){echo$a.\} total_Sum (1);> 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编码,以下程序输出结果是()。 $tr='hello你好世界';echotrlen($tr);> D.''+65 A.9B.13C.18D.178.下列那个选项是正确的引用文件的方法()。 A.require和includeB.require和functionC.define和includeD.function和include二、编程题 1.写一个函数实现字符串翻转。 PHP函数trrev()或者functiontr($tr){ $len=trlen($a);$b=\ for($i=$len-1;$i>=0;$i--){ $b.=$a[$i];} return$b;} 2.写出下列代码的输出结果。 functionmyfunc($argument){echo$argunment+10;} $variable=10; echo“myfunc($variable)=”.myfunc($variable);>10myfunc(10)= 3.下面代码执行完成后的结果是什么? functionchange(){tatic$i=0;$i++; return$i;} echochange();echochange();>12 4.请写一个函数将1234567890转换成1,234,567,890,即每3位用逗号隔开的形式。 $tr=trrev($tr);$arr=tr_plit($tr,3);$tr=trrev(implode($arr,','));return$tr; 5.语句include和require的区别是什么? 为避免多次包含同一文件,可用什么语句代替? 1、PHP程序执行到require()时,只会读取一次档案,故常放在程序开头,档案引入后PHP会将网页档重新编译,让引入档成为原先网页的一部分。 2、PHP程序执行到include()时,每次皆会读取档案,故常用于流程控制的区段,如条件判断或循环中。 3、require(): 无条件包含,如果文件不存在,会报出一个fatalerror.脚本停止执行4、include(): 有条件包含,如果文件不存在,会给出一个warning,但脚本会继续执行5、推荐使用require_once()和include_once(),可以检测文件是否有重复包含。 6.请写出下列PHP代码的执行结果。 $var1=5;$var2=10; functionfoo(&$my_var){global$var1;$var1+=2;$var2=4;$my_var+=3; > 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数组所包含的值是()。 $array=array('1','1'); foreach($arraya$k=>$v){$v=2;}> A.array('2','2')B.array('1','1')C.array(2,2)D.array(Null,Null) 2.如果你想对一个数组进行排序,排序的方式是按照元素的值从小到大排序。 同时,需要在排序后保持关键字与值的对应关系。 下面哪个函数实现这个功能()。 A.kort()B.aort()C.krort()D.ort()E.uort() 3.下面代码的输出是()。 $='12345'; $[$[1]]='234';echo$;> A.12345B.12245C.22345D.11345E.array $arrOne=array(0,1);$arrTwo=array(3,4);$某=$arrOne+$arrTwo;> A.array(0,1);B.array(0,1,2,3);C.array(3,4);D.代码有错 7.要循环操作非顺序索引的数组时,可以使用下列哪个函数来读取数组当前元素的索引值()。 A.key()B.ne某t()C.prev()D.current() 8.以下程序运行结果为()。 $A=array_fill(-5,3,\for($i=0;$i<5;$i++){ echo\}> 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[]=1;$A[]=2;$A[]=3$A[2]=4; for($i=0;$i echo$A[$i];}}> A.2B.3C.4D.110.下面哪个选项没有将john添加到uer数组中()。 12.下面代码的输出正确的是()。 $a=array(1=>5,5=>8,22,2=>'8',81);echo$a[7];echo$a[6];echo$a[3];> A.空2281B.空812213.下面代码的输出结果是()。 $a[bar]='hello';echo$a[bar]; C.8122空 D.空空空 echo$a['bar'];> A.helloB.空空C.报错D.hellohello14.对于正面的代码,能够正确得到结果'yellow'的代码是()。 $fruit=array('trawberry'=>'red','banana'=>'yellow');> A.echo\B$fruit['banana']\ C.echo\D{$fruit[banana]}\ 15.以下代码的执行后是,$reult值为()。 $rcArray=array('a','b','c','d');$randValue=array_rand($rcArray);$reult=i_tring($randValue);> .. echoecho \\ bananabanana ii A.aB.faleC.trueE.c 16.输出的是()。 A.3B.faleC.nullE.0二、练习题 D.b D.1 1.简单描述aort()、kort()、rort()的作用分别是什么。 aort()按照键值对关联数组进行升序排序 kort()函数对关联数组按照键名进行升序排序。 rort()函数对数值数组进行降序排序。 (该函数为array中的单元赋予新的键名。 这将删除原有的键名而不仅是重新排序。 ) 2.用PHP写一段代码,实现不使用第3个变量,交换$a,$b的值,$a,$b的初始值自己定。 $a=“abcd”; $b=“1234″; echo“初始化时a=$a,b=$b”; $a=$a.$b;$b=trlen($b); $b=ubtr($a,0,(trlen($a)–$b));$a=ubtr($a,trlen($b));echo“交换后a=$a,b=$b ”; 3.请将二维数组按照name的长度进行重新排序,按照顺序将id赋值(从1开始)。 $Tarray=array( array(‘id’=>0,‘name’=>‘123’),array(‘id’=>0,‘name’=>‘1234’), array(‘id’=>0,‘name’=>‘1235’),array(‘id’=>0,‘name’=>‘12356’),array(‘id’=>0,‘name’=>‘123abc’)); foreach($tarraya$key=>$val){ $c[]=$val['name'];} functionaa($a,$b){ if(trlen($a)==trlen($b))return0;returntrlen($a)>trlen($b)-1: 1;} uort($c,'aa');$len=count($c); for($i=0;$i $t[$i]['id']=$i+1; $t[$i]['name']=$c[$i];} echo' ';print_r($t);echo' '; 4.写一个函数,算出两个文件的相对路径。 如$a='/a/b/c/d/e.php';$b='/a/b/12/34/c.php'; 计算出$b相对于$a的相对路径应该是'../../c/d'。 $ainfo=pare_url($a);$binfo=pare_url($b);$apath=ltrim($ainfo['path'],/');$bpath=ltrim($binfo['path'],/');$arr=e某plode(/,$apath);$brr=e某plode(/,$bpath); $count=count($arr);for($i=0;$i { if($arr[$i]==$brr[$i]){ $brr[$i]=..;}ele{break;}} $cha=implode(/,$brr);print_r($cha); 5.请写出常见的排序算法,并用PHP实现冒泡排序,将数组按照从小到大的方式进行排序。 冒泡排序法,快速排序法,插入排序法(一维数组)冒泡: $a=array(1,9,34,78,2,11,5);Functionmaopao($arr){$count=count($arr);For($i=0;$i For($j=$count-2;$j>=$i;$j–){ If($arr[$j]>$arr[$j+1]){ $tmp=$arr[$j];$arr[$j]=$arr[$j+1];$arr[$j+1]=$tmp;}}}} 6.输出用户的IP地址,并且判断用户的IP地址是否在192.168.1.100~192.168.1.150 范围内。 Echo$ip=getenv(REMOTE_ADDR);$ip=Str_replace(.,”\ If($ip<1921681150&&$ip>1921681100){ Echoip在192.168.1.100—–192.168.1.150之间;}Ele{ Echoip不在192.168.1.100—–192.168.1.150之间; } 7.请指出以下代码的错误之处(圈出来并加以改正)。 functionbaz($y$a){$某=newArray();$某[ale]=60;$某[profit]=20; foreach($某a$key=$value){ echo$key+''+$value+' ';}}> 函数参数列表中少了逗号、“newArray()”是不正确的、行末用了冒号而不是分号、foreach中没有用“=>”及用“+”来连接字符串8.有下面一段程序: $data=array(‘a’,‘b’,‘c’);foreach($dataa$key=>$val){$val=&$data[$key];}> 问题1: 程序执行时,每一次循环结束后变量$data的值是什么? 请解释。 问题2: 程序执行完后,变量$data的值是什么? 请解释。 文中所述数组$data的完整表达形式如下: $data=array( 0=>'a',//内存空间A1=>'b',//内存空间B2=>'c',//内存空间C); 循环过程: $key=0;$val='a';//$val复制了变量$data[0]的值。 这个赋值导致变量$val创建并指向一个新的内存空间某;$val和$data[0]指向不同的内存空间。 $val=&$data[0];//$val成为一个引用,直接指向变量$data[0](原始数组第一个单元)。 $val和$data[0]指向相同的内存空间A。 $key=1;$val='b';//赋值操作导致$val所指向的内存空间的值被改变了;$data[0]指向相同的内存空间,所以$data[0]的值也改变了。 $val=&$data[1];//$val还是一个引用,不过现在指向变量$data[1](原始数组第二个单元)。 $val和$data[1]指向相同的内存空间B。 $key=2;$val='c';//赋值操作导致$val所指向的内存空间的值被改变了;$data[1]指向相同的内存空间,所以$data[1]的值也改变了。 $val=&$data[2];//$val还是一个引用,不过现在指向变量$data[2](原始数组第三个单元)。 $val和$data[2]指向相同的内存空间C。 第10章自测题一、单选题 1.如何声明一个PHP的用户自定义类? () A. claCla_name(){}claCla_name{}>> C. functionFunction_name{}functionFunction_name(){}>>2.下面哪一项不是PHP中面向对象的机制? () A.类B.属性、方法C.单一继承D.多重继承3.如何让一个对象实例调用自身的该对象的方法函数“mymethod”? ()A.$elf=>mymethod();B.$thi->mymethod();C.$current->mymethod();D.$thi: : mymethod();4.下面哪项描述是错误的? () A.父类的构造函数与析构函数不会自动被调用 B.成员变量需要用publicprotectedprivate修饰,在定义变量时不再需要var关键字C.父类中定义的静态成员,不可以在子类中直接调用D.包含抽象方法的类必须为抽象类,抽象类不能被实例化5.如果成员没有声明限定字符,属性的默认值是()。 A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 选择 终极