php测试题整理(0519)
1.B/S架构和C/S架构:
B/S架构是依托于浏览器的网络系统,C/S架构是基于客户端的。
B/S架构:
随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览 器/服务器结构。它是C/S架构的一种改进,可以说属于三层C/S架构。主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强并节约了开发成本,是一种全新的软件系统构造技术。第一层是浏览器,即客户端,由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户。第二层是WEB服务器。第三层是数据库服务器。
C/S架构:
C/S架构软件(Client/Server,即客户机/服务器模式)分为客户机和服务器两层,第一层是用户表示层,第二层是数据库层。C/S架构是一种比较早的软件架构,主要应用于局域网内。想要使用C/S架构的软件需要下载一个客户端,安装后就可以使用。
2.若x,y为整形数据,执行以下语句:
$x=1;
++$x;
$y=$x++;
则输出$y结果为:$y=2.
解释:
y=++x相当于:x=x+1,y=x
y=x++相当于:y=x,x=x+1
所以本题的意思是:
$x=1;
$x=$x+1;(这时$x=2,不需要赋值,直接进行自身的运算)
$y=$x;($y=2)
$x=$x+1;($x=3)
最终输出$y的结果为2。
3. exit()和die(),两者是等价的,遇到都会停止执行下面的脚本
4. function print_A()
{
$A="phpchina";
echo "A的值为".$A."<p>";
//return $A;
}
$B=print_A();
echo "B的值为".$B."<p>";
输出$A,$B的结果为:$A=phpchina $B=
解释:
//return $A;此句被注释掉,所以print_A没有返回值,而$B=print_A();输出的是print_A的返回值,所以$B的值为空。
5. 以下代码的执行结果为:
$A="Hello ";
function print_A()
{
$A="php mysql!!";
global $A;
echo $A;
}
echo $A;
print_A();
输出结果为:Hello Hello
解释:
global为全局变量,引用时可以将方法外的变量值引入,所以global$A相当于$A="hello ";输出print_A()的值是"Hello "。
全局变量:
在程序设计中,全局变量是在所有作用域都可访问的变量,与之对应的是局部变量。它不属于哪一个函数,它属于一个源程序文件。其作用域是从定义该变量的位置开始至源文件结束。在函数中使用全局变量,一般应作全局变量声明。 只有在函数内经过声明的全局变量才能使用。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以声明。
6. 以下代码输出结果为:
$a="aa";
$aa="bb";
echo $$a;
输出结果为:bb
解释:
$a="aa",$$a=$aa="bb"。
7. 以下代码输出结果为:
$a=10;
$b=&$a;
echo $b;
$b=15;
echo $a;
输出结果为:1015
解释:
开始$b=$a=10,输出$b的值为10;后面$b=15,$b重新赋值,$a也重新赋值,所以$a=$b=15。
8. 在浏览器查看网页时出现404错误可能的原因是:文件不存在
9. 以下代码输出结果为:
$attr=array("0"=>"aa","1"=>"bb","2"=>"cc");
echo $attr[1];
输出结果为:bb
解释:
php是弱类型语言,可以自动转换
echo $attr[1];
echo $attr["1"];//两种方法都输出bb
10. php的源码是开放的
11. 下面哪个选项没有将john添加到users数组中:(B)
A.$users[]="join"; //没有指定下标的情况会自动生成
B.array_add($users,"join"); //没有这种方式
C.array_push($users,"join");
D.$users["aa"]="join";
12.php中能随机输出1-10随机数的是:rand(1,10);在数据库中是:rand()*10
13. 以下代码在页面上会输出多少行数据
$attr=array(1,2,3,4);
while(list($key,$value)=each($attr))
{
echo $key."=>".$value."<br>";
}
while(list($key,$value)=each($attr))
{
echo $key."=>".$value."<br>";
}
输出结果为:4行
解释:
第一个循环中each()函数已经运行到最后,在第二个循环中已无数据,所以一共输出4行
14. LAMP具体的结构包括:
LAMP:架构模式 L:Linux系统 A:阿帕奇服务器 M:Mysql数据库 P:
php语言
LAMP的特点:运行较快的,体积小,
WAMP:也是一种架构模式的Windows
15.SQL语句的写法:
创建表名:creat table 表名 (
Code int primary key,
列名 数据类型...(特别注意最后一列不加逗号)
);
添加:insert into 数据库名.表名 values(数据,按列顺序填充逗号隔开)
eg :insert into users values('p001','张三','男');
修改:update 表 set 列=新值,列=新值 where 条件
eg : update users set Code = 'p001' where Code = 'p002';
删除:delete form 表 where 条件
查询:select 结果显示列 form 表 where 条件
改名字:select Code as '代号' from users;
模糊查询使用关键字like;
排序查询asc是升序;desc是降序;
分页查询使用关键字limit;
mysql如果只安服务不安装界面也可以正常使用;
16. php中单引号和双引号包含字符串的区别:
双引号里面可以解析转义字符,单引号里面会原样输出;
双引号里面可以解析变量,单引号不可以;
17. implode()将数组拼接成字符串;explode()将字符串拆分成数组
str_replace("l","a",$str)查找替代,substr($str,6,5)截取字符串,substr_replace($str,"aaa",0,4)截取替代