1PHP基础文档格式.docx
《1PHP基础文档格式.docx》由会员分享,可在线阅读,更多相关《1PHP基础文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
![1PHP基础文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/25/857a7b67-ca8c-407c-a5e9-aba149832d1d/857a7b67-ca8c-407c-a5e9-aba149832d1d1.gif)
B、2个
C、取决于系统资源
D、3个
E、想要几个有几个
26:
以下哪种错误类型无法被自定义的错误处理器set_error_handler捕捉到?
(双选)
A、E_WARNING
B、E_USER_ERROR
C、E_PARSE
D、E_NOTICE
27:
执行以下代码,输出结果是
Abstractclassa{
Function__construct(){
Echo“a”;
}
}
$a=newa();
A、a
B、一个错误警告
C、一个致命性的报错
抽象类不能被实例化
28:
执行以下代码,输入结果是
Classa{
Function__construct(){
Echo“EchoClassaSomething”;
}
Classbextenda{
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,'
);
(C)$users||='
(D)array_unshift($users,'
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+“<
BR>
”;
//+.
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."
echo$var1."
echo$var2."
$bar='
foo'
$my_var=10;
echo$bar($my_var)."
只有变量才有地址,值没有
&
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;
If($a=3|$b=3){//|位运算,优先级也高于==
结果:
1.______11___________,2.__________44____________
9、
<
$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’),
‘1234’),
‘1235’),
‘12356’),
‘123abc’));
)
或者可以使用usort系统函数(用户自定义排序)
最好的排序法快速排序法比较难理解
这个可以用冒泡排序
//获得数组长度
双层for循环
27、在PHP中error_reporting这个函数有什么作用?
(1分)
设置错误报告,开发阶段和运营阶段注意
28、简述如何得到当前执行脚本路径,包括所得到参数。
(2分)
$_SERVER[’REQUEST-URL‘];
33、mysql_fetch_row()和mysql_fetch_array之间有什么区别?
mysql_fetch_row()从结果集中取得一行作为索引数组
mysql_fetch_assoc()获取关联数组
mysql_fetch_array获取关联和所以数组
34、GD库是做什么用的?
动态画图,根据用户的请求动态的生成图片
处理图片缩放水印拷贝剪切
大网站一般都不用GD库,使用imagem库这个从效率质量大小都比GD库优秀
36、请说明php中传值与传引用的区别。
什么时候传值什么时候传引用?
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、面向对象中接口和抽象类的区别及应用场景
一般和多态应用