本文主要和大家分享php基础问答知识小结,希望能帮助到大家。
01.输出为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'];
02.下面功能php无法实现的是:
a.服务器端脚本运行
b.命令行脚本运行
c.客户端图形界面(gui)程序
d.浏览器端执行dom操作
03.下面说法不正确的是:
a.php有四种标量类型:布尔型(boolean),整型(integer),浮点型(float),字符串(string)
b.浮点型(float)与双精度型(double)是同一种类型
c.复合类型包括:数组(array),对象(object),资源(resource)
d.伪类型:混合型(mixed),数字型(number),回调(callback)
04.执行下面的代码后,
<?php
echo function_exists('print');
?>
1. function_exists判断函数是否存在,返回true或者false
2. print本身不是函数,而是一种语言结构
3. echofalse 什么都没有
得到的输出是:
a.空
b.true
c.false
d.false
05.下面不是php语法的组成部分的函数是:
a.array
b.eval
c.each
d.list
echoprint
06.执行下面的代码的结果是什么?
<?php
$bool=true;
echo gettype($bool);
echo is_string($bool);
?>
a.boolean
b.boolean0
c.booleanfalse
d.booleanfalse
*07.写出下面代码执行的结果:
<?php
$a=12;
$b=012;
$c=0x12;
echo $a,"\n",$b,"\n",$c;
?>
12\n10\n18
08.下面代码的执行结果是什么?
<?php
echo 1+2+"3+4+5";
?>
a.0
b.3
c.6
d.33+4+5;
09.下面代码加入下面那个函数后返回true:
return ?=='a';
a.ord(65) 根据字符,返回ascii码值
b.chr(65)根据ascii码值,返回对应的字符 a==65 a==97
c.65+''
d.''+65
10.下面代码的输出正确的是:
<?php
$a=array(1=>5,5=>8,22,2=>'8',81);
echo $a[7];//81
echo $a[6];//22
echo $a[3];
?>
a.空2281 b.空8122 c.8122空 d.空空空
11.下面代码的输出结果:
<?php
$a[bar]='hello';
echo $a[bar];//hello
echo $a['bar'];//hello
?>
a.hello b.空空 c.报错 d.hellohello
*12.写出下面代码的结果:
<?php
echo 1>>0; 0001
echo 2>>1; 0010 -> 0001
echo 3<<2; 0011 -> 1100
?>
a.012 b.106 c.1112d.123
13.下面对于echo,print的描述正确的是:
a.echo,print都可以打印多个参数
b.print可以打印多个参数,echo不可以
c.echo可以打印多个参数,print不可以
d.echo,print都不可以打印多个参数
14.对于下面的代码
<?php
$fruits=array('strawberry'=>'red','banana'=>'yellow');
?>
能够正确得到结果'yellow'的代码是:
a.echoa banana is {$fruits['banana']};
b.echoa banana is $fruits['banana'];
c.echoa banana is {$fruits[banana]};
d.echoa banana is $fruits[banana];
15.下面代码执行完成后的结果是什么?
<?php
function change(){
static$i=0;
$i++;
return$i;
}
printchange();
printchange();
?>
12
16.以下代码的执行后是,$result值为:
<?php
$srcarray=array(‘a’,’b’,’c’,’d’);
$randvalue=array_rand($srcarray);
$result=is_string($randvalue);
?>
1. array_rand返回什么?
2. is_string()返回值
a、a
b、false
c、trueb
d、b
e、c
17.<?phpecho count(‘123’)?>输出的是?
a、3
b、false
c、null
d、1
e、0
18.以下代码的执行后是,$result值为:
<?php
$a=’01’;
$result=1;
if(in_array($a,array(‘1’))){
$result=2;
}elseif($a==’1’){
$result=3;
}elseif($a==’01’){
$result=4;
}else{
$result=5;
}
?>
a、1
b、2
c、3
d、4
e、5
19.php函数名是否区分大小写?
a、不区分
b、区分
20.以下代码的执行后是,$result值为:
<?php
$x=””;
$result=is_null($x);
?>
a、null
b、true
c、false
d、1
21.哪种oop设置模式能让类在整个脚本里只实例化一次?
a、mvc
b、代理模式
c、状态模式
d、抽象工厂模式
e、单件模式
22.借助继承,我们可以创建其他类的派生类。那么在php中,子类最多可以继承几个父类?
a、1个
b、2个
c、取决于系统资源
d、3个
e、想要几个有几个
23.以下哪种错误类型无法被自定义的错误处理器捕捉到?(双选)set_error_handler
a、e_warning
b、e_user_error
c、e_parse
d、e_notice
24.执行以下代码,输出结果是
<?php
abstract class a{
function __construct(){
echo “a”;
}
}
$a=new a();
?>
a、a
b、一个错误警告
c、一个致命性的报错
25.执行以下代码,输入结果是
<?php
class a{
function __construct(){
echo “echo classa something”;
}
}
class b extends a{
function __construct(){
echo “echo classb something”;
}
}
$a=new b();
?>
a、echoclassasomethingechoclassbsomething
b、echoclassbsomethingechoclassasomething
c、echoclassassomething
d、echo class b something
26.下面哪个选项没有将john添加到users数组中?2分
(a) $users[] = 'john';
(b) array_push($users, 'john');
(c) $users||= 'john';
(d) array_unshift($users, 'john');
27.在php中,'+'操作符的功能不包括 2分
a.字符串连接
b.数组数据合并 array(0=>1,1=>2)+array(2=>3,3=>4)
c.变量数据相加
28.下面哪个表达式不能将两个字符串$s1和$s2串联成一个单独的字符串?( )
a.$s1+$s2 b.“{$s1}{$s2}” c.$s1.$s2
d. implode(‘’,array($s1,$s2)) e.以上所有的方法都能实现
29.下面的脚本运行以后,$array数组所包含的值是什么?( )
$array = array(‘1’,’1’);
foreach($array as $k=>$v){
$v = 2;
}
a.array(‘2’,’2’) b.array(‘1’,’1’) c.array(2,2) d.array(null,null)
30.array_shift()函数的作用是?
a 在数组中新增一个元素
b 移除数组中的一个元素
c 交换一个数组的key和value array_flip()
d 清除一个数组
填空
1、执行程序段<?php echo 8%(-2) ?>将输出___0_。
*2、以apache模块的方式安装php,在文件httpd.conf中首先要用语句__ loadmodule php5_modulef:/wamp/php-5.2.6-win32/php5apache2_2.dll__动态装载php模块,然后再用语句__ addtypeapplication/x-httpd-php .php__使得apache把所有扩展名为php的文件都作为php脚本处理。
3、类的属性可以序列化后保存到session中,从而以后可以恢复整个类,这要用到的函数是_serialize___。
4、__debug_backtrace___函数能返回脚本里的任意行中调用的函数的名称。该函数同时还经常被用在调试中,用来判断错误是如何发生的。
5、<?$str="cd";
$$str="abcde"; $cd=”abcde”
$$str.="ok"; $cd .= “ok”;
echo$cd; echo $cd;
?>
该段代码输出是___abcdeok____
读程题
1、(5分)请指出以下代码的错误之处(圈出来并加以改正)
function baz($y,$a) {
//$x =new array();
$x[‘sales’] = 60;
$x[‘profit’] = 20;
foreach($xas $key =>$value) {
echo$key + “ ” + $value + “<br>”;
}
}
2、写出以下程序的输出结果 (1分)
$b=201;
$c=40;
$a=$b>$c?4:5;
echo $a;
4
3、下面的程序会输出什么 1分)
$num = 10;
function multiply(){
$num = $num * 10;
}
multiply();
echo $num;
10
4、请写出下列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;//4
echo $my_var.\n;//8
echo $var1.\n;//7
echo $var2.\n;//10
$bar = 'foo';
$my_var = 10;
echo$bar($my_var) .\n;//4
5、写出下列代码的输出结果:
function myfunc($argument){
echo $argunment + 10;
}
$variable =10;
echo “myfunc($variable)=”.myfunc($variable);
20myfunc(10)=
6、写出如下程序的输出结果(5分)
$test='aaaaaa';
$abc=&$test;
unset($test);
echo $abc;//aaaaaa
7、写出程序运行的结果
$a=0;
$b=0;
if($a=3||$b=3){
$a++; //true++
$b++; //0++
}
echo$a.”,”.$b; //1,1
$a=0;
$b=0;
if($a=(3|$b=3)){
$a++;//3++
$b++;//3++
}
echo$a.”,”.$b;//4,4
结果:1._______1,1__________,2._________4,4_____________
8、
<?php
$data = array(‘a’, ‘b’, ‘c’);
foreach($data as $key=>$val) {
$val = &$data[$key];
}
?>
问题1:程序执行时,每一次循环结束后变量$data的值是什么?请解释。
问题2:程序执行完后,变量$data的值是什么?请解释。
问答题
1、实现中文字串截取无乱码的方法。(3分)
mb_substr()
2、输出用户的ip地址,并且判断用户的ip地址是否在192.168.1.100 --- 192.168.1.150之间(5分)。
ip2long(“192.168.1.100”) ip2long(‘192.168.1.150’)
3、不断在文件hello.txt头部写入一行“hello world”字符串,要求代码完整(10分)
$str = file_get_contents(“hello.txt”);
$str = “helloworld”.$str;
file_put_contents(“hello.txt”,$str);
4、请列出3种php数组循环操作的语法,并注明每种循环的优缺点 5分
for 只能循环下标连续的索引数组
foreach 可以循环所有数组
while 与for相似
while(list($key,$val)=each($arr)) 可读性较差,效率较低
5、求两个日期的差数,例如2007-2-5~2007-3-6的日期差数(5分)
(strtotime(‘2007-3-6’)-strtotime(“2007-2-5”))/(3600*24)
6、请将2维数组按照name的长度进行重新排序,按照顺序将id赋值(从1开始)。(15分)
$array = array(
array(‘id’ => 0,‘name’ => ‘123’),
array(‘id’ => 0,‘name’ => ‘12345’),
array(‘id’ => 0,‘name’ => ‘1234’),
array(‘id’ => 0,‘name’ => ‘123abcd’),
array(‘id’ => 0,‘name’ => ‘123456’),
);
)
for($j=0,$c=count($array);$j<$c;$j++){
for($i=0;$i<$c-1-$j;$i++){
if(strlen($array[$i]['name'])>strlen($array[$i+1]['name'])){
$tmp= $array[$i];
$array[$i]= $array[$i+1];
$array[$i+1]= $tmp;
}
}
$array[$c-1-$j]['id']= $c-$j;
}
$arr = array();
foreach($tarray as $k=>$v)
{
$arr[$k] = strlen($v['name']);
}
natsort($arr);
$arr1 = array();
$i = 0;
foreach($arr as $k=>$v)
{
$arr1[$i]['id'] = $v;
$arr1[$i]['name'] =$tarray[$k]['name'];
$i++;
}
8、在php中error_reporting这个函数有什么作用? (1分)
改变错误级别
9、简述如何得到当前执行脚本路径,包括所得到参数。(2分)
$_server[‘request_uri’]
10、mysql_fetch_row()和mysql_fetch_array之间有什么区别? (1分)
mysql_fetch_row()返回索引数组
mysql_fetch_array()返回索引加关联的数组
11、gd库是做什么用的?(1分)
动态的生成图像
12、请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)
传值:只会将值传递给一个变量
传地址:会将地址传递给一个变量,此时两个变量同时指向同一个地址,一个发生改变,另一个也会跟着发生改变。
13、谈谈asp,php,jsp的优缺点(1分)
asp.net优点:开发较快,b/s,c/s
asp.net缺点:平台限制(windows-iis),成本高
php优点:跨平台,开发效率高,开源
php缺点:不能做c/s模式的软件(例如:qq)
jsp优点:涉及面较广(c/s,b/s),较安全
jsp缺点:不开源,不免费,成本高
14、用php写出显示客户端ip与服务器ip的代码1分)
$_server[‘remote_addr’]
$_server[‘server_addr’]
15、css里margin和paddin有什么区别?写出padding在3个参数和四个参数情况下,参数所作用的方向
margin:1px 2px 3px
margin:1px 2px 3px 4px
16、在开发项目中,需要上传超过8m的文件,请说明在php.ini需要修改的配置项。(10分)
upload_max_filesize upload_max_filesize
post_max_size post_max_size
17、php是否有安全问题,如果有,请列举说明。
sql注入,预处理
18、从php4.2.0开始 php默认配置将register_globals配置设定为off,请指出这个设定的作用和对php相关程序的影响。(5分)
会将参数自动接收 index.php?id=1
$id即可接收
$_session[‘id’] = 1
19.apache默认使用进程管理还是线程管理?如何判断并设置最大连接数?
进程管理
20、php如何执行shell的两种方式
shell_exec
``
21、写出一个函数,参数为年份和月份,输出结果为指定月的天数
function getdays($year,$month){
return (strtotime($year.”-”.($month+1).”-1”)-strtotime($year.”-”.$month.”-1”))/(3600*24);
}
22、用php写一段代码,实现不使用第3个变量,交换$a,$b的值,$a,$b的初始值自己定。
$a = array($a,$b)
$b = $a[0];
$a = $a[1]
23、面向对象中接口和抽象类的区别及应用场景
接口:是抽象类的特殊情况,不允许有属性,只允许有常量,所有的方法都是抽象方法
抽象类:不一定所有的方法都是抽象方法
相同:都不能实例化
1 接口是核心,其定义了要做的事情,包含了许多的方法,但没有定义这些方法应该如何做。
2 如果许多类实现了某个接口,那么每个都要用代码实现那些方法
3 如果某一些类的实现有共通之处,则可以抽象出来一个抽象类,让抽象类实现接口的公用的代码,而那些个性化的方法则由各个子类去实现。
相关推荐:
php基础分页类代码详解
php基础知识总结(新手必备)
php基础与javascript操作的区别(收藏)
以上就是php基础问答知识小结分享的详细内容。