最新PHP技术笔试练习题
14:php系统构造函数为__Contruct(),系统析构函数为__destruct()
15:用于定义静态变量的关键字是static
16:用于在类中定义常量的关键字是 const
17:使用instanceof关键字可以判断某个对象是否是某个类的实例。
18:在PHP中我们使用”clone”这个关键字克隆对象
19:PHP5定义了一个特殊的方法名“__clone()”方法,是在对象克隆时自动调用的方法 20:继承性是面向对象程序设计语言不同于其他语言的最主要的特点.
21在类里面定义的没有方法体的方法就是抽象方法
22:在声明抽象方法时还要加一个关键字“abstract”来修饰;
23: PHP 5引入了接口,是多重继承问题的解决方法!
24:PHP规定用interface来定义一个接口,然后用implements让类执行一个接口! 25:我们可以使用”extends”关键字让一个接口去继承另一个接口;
26:凡是被final标记了的属性和方法均无法重载。如果把final放在class前面,那么整个类将无法被继承!
27 :Php中比较常用的反射类是 ReflectionClass
28:使用pathinfo()函数,可以对指定的路径和文件名进行解析
29: PHP提供了basename()函数,可以快速的获取指定文件的文件名部分
30:使用dirname()函数,可以快速的获取指定文件的路径部分。
31:glob()函数可以根据指定的条件,来寻找与条件相符的文件或目录,并通过数组返回。 32: php使用opendir()打开一个目录句柄,以便其他目录函数使用
33: rmdir()函数会试图删除要求的目录,但是目录必须为空并具有相应的权限 34:使用readdir()函数,会从目录句柄中读取下一个文件的文件名
35:在使用完opendir()打开的目录句柄后,应使用closedir()进行关闭
36: file()函数读取文件后,返回1个数组,其中数组的每个单元对应着文件的1行
37:使用file_get_contents()函数,可以把参数指定的文件,整个读取到1个字符串变量中。
38: 而使用POST方法时,HTTP会将表单的输入信息进行包装后发送,而GET方式是附加在Action所设定的URL之后发送。
39:
三、代码填空
1
$array = array(0 => 0, "color" => "red",55,"two"=>array(1=>3,5,6,7)); function showValue($arr)
{
$flag=reset($arr);
while(!is_bool($flag))
{
$key=key($arr);
$value=current($arr);
if(is_array($value))
{
showValue($value);
}
else
{
echo $key.":".$value,"
";
}
$flag=next($arr);
}
}
showValue($array);
2
Class Test
{
public $name="lucky";
var $age=18;
function __set($propname,$propvalue)
{
$this->$propname=$propvalue;
print "ok
";
}
}
$model=new Test();
$model->age=25;
$model->title="English";
print "age: ".$model->age."
";
print "title: ".$model->title."
";
3:
Class Test
{
public $name="lucky";
Var $age=25;
Public $address=“北京”;
Function __get($propname)
{
$vars=array("name","age","address");
if(in_array($propname,vars))
{
return $this->$propname;
}
else
{
return "No such variable!";
}
}
}
$model=new Test();
echo $model->city;
4
class A
{
public $attribute = 'value';
public function operation()
{
echo "
operation called ".$this->attribute;
}
}
class B extends A
{
public $attribute = ‘new value’;
public function operation()
{
echo "
new operation called ".$this->attribute;
}
}
$_a = new A();
$_a->operation();
$_b = new B();
$_b->operation();
5
if ($_FILES['userfile']['error'] > 0)
{
echo '上传错误: ';
switch ($_FILES['userfile']['error'])
{
case 1:
echo '上传文件大小超出了PHP配置文件中的约定值:upload_max_filesize'; break;
case 2:
echo '上传文件大小超出了表单中的约定值: max_file_size';
break;
case 3:
echo '文件只被部分上载';
break;
case 4:
echo '没有上传任何文件';
break;
}
exit;
}
if ($_FILES['userfile']['type'] != 'text/plain')
{
echo '问题: 文件不是一个文本文件。';
exit;
}
$upfile = './uploads/'.$_FILES['userfile']['name'];
if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
//判断是否为上传文件
if (!move_uploaded_file($_FILES['userfile']['tmp_name'], $upfile))
{
//移动文件
echo '问题: 不能将文件移动到指定目录。';
exit;
}
}
else
{
echo '问题: 上传文件不是一个合法文件: ';
echo $_FILES['userfile']['name'];
exit;
}
echo '文件上传成功!
';
6
$dir = dir(“html”);//创建directory类对象
echo "当前句柄:".$dir->handle."
";
echo "路径:".$dir->path."
";
while(false !== ($entry = $dir->read()))
{
echo $entry."
";
}
$dir->close();
四、论述题
1:请用代码掩饰循环读取文件内容
$handle = fopen("welcome.txt","rb");
$contents="";
while(!feof($handle))
{
$contents=fread($handle,1024);
}
fclose($handle);
print $contents ;
2: 试用函数演示递归求和
function showSum($n)
{
if($n==1)
return 1;
else
return showSum($n-1)+$n;
}
print showSum(10);
3: 试演示嵌套函数
function showValue()
{
function showMsg()
{
print “The programme is very interesting ”;
}
showMsg();
}
4试打印九九乘法表
5:试演示读取文件的操作
$filename = “html/cache.txt”;
$handle = fopen($filename, “r”);
$contents = fread($handle, filesize($filename));
fclose($handle);
6:试演示写入文件的操作
$handle = fopen(“html/cache.txt”,”w”);
fwrite($handle,”添加文字到文件中”);
fclose($handle);
7:PHP提供了那几种网页传递的方法,并说明各自的特点和作用:
8在服务器端的PHP接收程序中,必须依照
标签中的method 属性设定值,PHP关于窗体处理的「预定变量」有哪两种 试述两者的区别、特点、作用
9:试列举读取文件内容的函数
file_get_contents()
fread()
file()
10:试列举写入文件内容的函数
fwrite()、fputcsv()、file_put_contents()
11:试列举过滤字符串空格的函数
ltrim rtrim rrim
12:试列举截取字符串的函数
13试述面向对象的基本特征
(1)客观世界由对象组成。
(2)具有相同数据(属性)和操作(方法)的对象可归纳成类。
(3)类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性
(4)对象之间的联系通过消息传递(可理解为方法调用)来维系。
假设m1是类Manager的一个实例(或对象),当外界要求把这个对象所
代表的那位经理的级别改变为2时,就应以下面的方式向这个对象发
出一条消息: ml.ChangeLevel(2)消息传递
14:创建一个表,为其加入一个自动增长列,默认值列,非负数列
【最新PHP技术笔试练习题】相关文章: