1PHP基础.docx
- 文档编号:7597687
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:11
- 大小:20.44KB
1PHP基础.docx
《1PHP基础.docx》由会员分享,可在线阅读,更多相关《1PHP基础.docx(11页珍藏版)》请在冰豆网上搜索。
1PHP基础
选择
23:
以下代码的执行后是,$result值为:
php
$x=””;
$result=is_null($x);
?
>
A、null
B、true
C、false
D、1
Null在内存才是空,NULL在内存中没有,一个是内容为空,一个是不存在
24:
哪种OOP设置模式能让类在整个脚本里只实例化一次?
A、MVC
B、代理模式
C、状态模式
D、抽象工厂模式
E、单件模式
PHP中工厂模式,和单件模式(对象创建太多没有,需要用这个保证只有一个对象)用的最多
析构方法__destruct可以用来查看对象被创建了多少次
静态的只有在第一次用是放入内存的
25:
借助继承,我们可以创建其他类的派生类。
那么在PHP中,子类最多可以继承几个父类?
A、1个
B、2个
C、取决于系统资源
D、3个
E、想要几个有几个
26:
以下哪种错误类型无法被自定义的错误处理器set_error_handler捕捉到?
(双选)
A、E_WARNING
B、E_USER_ERROR
C、E_PARSE
D、E_NOTICE
27:
执行以下代码,输出结果是
php
Abstractclassa{
Function__construct(){
Echo“a”;
}
}
$a=newa();
?
>
A、a
B、一个错误警告
C、一个致命性的报错
抽象类不能被实例化
28:
执行以下代码,输入结果是
php
Classa{
Function__construct(){
Echo“EchoClassaSomething”;
}
}
Classbextenda{
Function__construct(){
Echo“EchoClassbSomething”;
}
}
$a=newb();
?
>
A、echoclassasomethingechoclassbsomething
B、echoclassbsomethingechoclassasomething
C、echoclassassomething
D、echoclassbsomething
29.下面哪个选项没有将john添加到users数组中?
2分
(A)$users[]='john';//往数组后面添加内容建议用这个效率高,不建议使用array_push
(B)array_push($users,'john');
(C)$users||='john';
(D)array_unshift($users,'john');
31.在PHP中,'+'操作符的功能不包括2分
A.字符串连接
B.数组数据合并
C.变量数据相加
数组可以使用+好合并,如果下标不相同才合并,如果下标相同就是覆盖
$c=$a+b;
是$a覆盖$b的
33.下面哪个表达式不能将两个字符串$s1和$s2串联成一个单独的字符串?
()
A.$s1+$s2B.“{$s1}{$s2}”C.$s1.$s2
D.implode(‘’,array($s1,$s2))E.以上所有的方法都能实现
34.下面的脚本运行以后,$array数组所包含的值是什么?
()
$array=array(‘1’,’1’);
foreach($arrayas$k=>$v){
$v=2;
}
A.array(‘2’,’2’)B.array(‘1’,’1’)C.array(2,2)D.array(Null,Null)
35、array_shift()函数的作用是?
//将数组开头的单元移出数组
A在数组中新增一个元素
B移除数组中的一个元素
C交换一个数组的key和value
D清除一个数组
填空
2、执行程序段
phpecho8%(-2)?
>将输出____。
//前面的是正数,得到的就是正数,想法。
//PHP不支持小数取余,他会把小数转换成整数
//取余一般用于整除和控制范围,任何数和10取与,都在10以内
7、以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。
9、类的属性可以序列化后保存到session中,从而以后可以恢复整个类,这要用到的函数是____。
Serialize序列化unserialize反序列化
JsonJavsscript对象缩写串行化
13、Debug_backtrace()_____函数能返回脚本里的任意行中调用的函数的名称。
该函数同时还经常被用在调试中,用来判断错误是如何发生的。
27、
$str="cd";
$$str="abcde";
$$str.="ok";
echo$cd;
?
>
该段代码输出是_______abcdeok
读程题
2、(5分)请指出以下代码的错误之处(圈出来并加以改正)
functionbaz($y$a){,
$x=newArray();//x
$x[sales]=60;//’’
$x[profit]=20;//’’
foreach($xas$key=$value){//=>
echo$key+“”+$value+“
”;//+.
}
}
3、写出以下程序的输出结果(1分)
$b=201;
$c=40;
$a=$b>$c?
4:
5;
echo$a;4
4、下面的程序会输出什么1分)
$num=10;
functionmultiply(){
$num=$num*10;
}
multiply();
echo$num;10
5、请写出下列PHP代码的执行结果6分
$var1=5;
$var2=10;
functionfoo(&$my_var){
global$var1;
$var1+=2;
$var2=4;
$my_var+=3;
return$var2;
}
$my_var=5;
echofoo($my_var)."\n";
echo$my_var."\n";
echo$var1."\n";
echo$var2."\n";
$bar='foo';
$my_var=10;
echo$bar($my_var)."\n";
只有变量才有地址,值没有
&100是错的,在函数中如果有变量前+&符,必须传变量。
改变时候里外都会改变,类似于全局的。
$a=10;
$b=&$a;
使用usset($a);
只删除引用关系,另外一个变量还在的。
重新赋值引用指针位置就改变了
6、写出下列代码的输出结果:
functionmyfunc($argument){
echo$argunment+10;
}
$variable=10;
echo“myfunc($variable)=”.myfunc($variable);
函数先执行
7、写出如下程序的输出结果(5分)
test='aaaaaa';
$abc=&$test;
unset($test);
echo$abc;
8、写出程序运行的结果
$a=0;
$b=0;
If($a=3||$b=3){//或优先级高与等号先执行3||$b
$a++;//布尔型++还是布尔型没变
$b++;
}
Echo$a.”,”.$b;
$a=0;
$b=0;
If($a=3|$b=3){//|位运算,优先级也高于==
$a++;
$b++;
}
Echo$a.”,”.$b;
结果:
1.______11___________,2.__________44____________
9、
php
$data=array(‘a’,‘b’,‘c’);
foreach($dataas$key=>$val){
$val=&$data[$key];
}
?
>
问题1:
程序执行时,每一次循环结束后变量$data的值是什么?
请解释。
问题2:
程序执行完后,变量$data的值是什么?
请解释。
问答题
5、实现中文字串截取无乱码的方法。
(3分)
6、输出用户的IP地址,并且判断用户的IP地址是否在192.168.1.100---192.168.1.150之间(5分)。
Ip2long()
Long2ip()
7、不断在文件hellotxt头部写入一行“HelloWorld”字符串,要求代码完整(10分)
没有这个说法(r,w,a,x)
把文件内容拿出来
8、请列出3种PHP数组循环操作的语法,并注明每种循环的优缺点5分
For()效率最高。
不能取关联数组和下标不连续的索引数组
Foreach()没什么缺点跟for比的话效率低一点
While(list()=each())速度也可以比较麻烦他遍历玩的数组指针是在最后一般不怎么用,优点是可以在数组转换为变量
13、求两个日期的差数,例如2007-2-5~2007-3-6的日期差数(5分)
Mktime()单独给的年月日转换成时间戳可以自动换算12年13月?
会13年1月
Strtotime();可以时间格式转换成时间戳,还可以支持+1day明天
-1day昨天+1week下一周
Date()
18、请将2维数组按照name的长度进行重新排序,按照顺序将id赋值(从1开始)。
(15分)
19、$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’));
)
或者可以使用usort系统函数(用户自定义排序)
最好的排序法快速排序法比较难理解
这个可以用冒泡排序
//获得数组长度
双层for循环
27、在PHP中error_reporting这个函数有什么作用?
(1分)
设置错误报告,开发阶段和运营阶段注意
28、简述如何得到当前执行脚本路径,包括所得到参数。
(2分)
$_SERVER[’REQUEST-URL‘];
33、mysql_fetch_row()和mysql_fetch_array之间有什么区别?
(1分)
mysql_fetch_row()从结果集中取得一行作为索引数组
mysql_fetch_assoc()获取关联数组
mysql_fetch_array获取关联和所以数组
34、GD库是做什么用的?
(1分)
动态画图,根据用户的请求动态的生成图片
处理图片缩放水印拷贝剪切
大网站一般都不用GD库,使用imagem库这个从效率质量大小都比GD库优秀
36、请说明php中传值与传引用的区别。
什么时候传值什么时候传引用?
(2分)
37、谈谈asp,php,jsp的优缺点(1分)
开发速度
开发成本
安全
程序效率
学3个数据库
Oracel
MySQL
SQLite
40、用PHP写出显示客户端IP与服务器IP的代码1分)
49、CSS里margin和padding有什么区别?
写出padding在3个参数和四个参数情况下,参数所作用的方向
Margin外边距
Padding内边距
1个四周2个上下·左右3个上·左右·下4个上右下左
51、在开发项目中,需要上传超过8M的文件,请说明在php.ini需要修改的配置项。
(10分)
Php.ini:
post_max_size,Upload_max_filesize
post_max_size要大于Upload_max_filesize
开启安全模式Safe_mode
61、Php是否有安全问题,如果有,请列举说明。
Sql注入的问题,预处理绑定参数
63、从PHP4.2.0开始PHP默认配置将register_globals配置设定为off,请指出这个
设定的作用和对PHP相关程序的影响。
(5分)
如果是开启的数组里的成员,都会当做单独的变量使用
安全问题,有时变量会被覆盖,名称冲突
65.apache默认使用进程管理还是线程管理?
如何判断并设置最大连接数?
一个进程可以开多个线程
默认是进程管理
默认有一个主进程
Linux:
ps-aux|grephttpd|more
一个子进程代表一个用户的连接
Conf/extra/httpd-mpm.conf多路功能模块
66、PHP如何执行shell的两种方式
Exec()
System()
`ls`
92、写出一个函数,参数为年份和月份,输出结果为指定月的天数
Ecdhodate(‘t’,mktime(分,时,秒,月,日,年));
152、用PHP写一段代码,实现不使用第3个变量,交换$a,$b的值,$a,$b的初始值自己定。
43、面向对象中接口和抽象类的区别及应用场景
一般和多态应用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 基础
![提示](https://static.bdocx.com/images/bang_tan.gif)