当前位置:文档之家› php复习题

php复习题

•php创始人:Rasmus Lerdorf 、Zeev Suraski、Andi Gutmans、Doron Gerstel•php的特性:(1)开放的源代码(2)PHP是免费的(3)PHP是一种服务器端、跨平台、HTML嵌入式的脚本语言。

(4)效率高:PHP消耗相当少的系统资源(5)强大的数据库支持:php几乎支持所有的主流数据库(6)PHP是B/S体系结构。

•PHP的主要应用领域•服务器端脚本程序•命令行脚本程序•桌面应用程序•PHP的官方网址/•PHP的lamp组合Lamp = Linux + Apache + Mysql + php•unset()函数删除变量•打开文件所用函数:fopen()•写入数据所用函数:fread()•变量的定义PHP变量必须以美元符号开头:$,可以包含数字、字母和下划线,不能以数字开头。

PHP变量名区分大小写;PHP变量使用前不用声明和定义;PHP变量必须有意义。

$sum = 25;$sex1 = “male”;$_user = “东方不败”;•可变的变量<?php>$varname = “age”;//用$$varname取代$age.下面的代码等价于:$age = 20;$$varname = 20;echo $age;//输出变量的值:20?>•课件中的练习题1. 下面哪些变量定义是错误的。

$$a=‘abcd’;$2m=24;$_hello=WORLD;$变量=‘beijing’;答案:__________2. 写出下面程序的运行结果:<?phpdefine(‘NAME’,’php’);$php=‘let’s get started!’;echo $NAME;?>答:无运行结果3. 下列语句执行后,y的值为(2)$x = 1; ++$x; $y = $x++; echo $y;4. 下列语句的执行结果是(1)$a = 3; $b = 5; $c = $a>$b ? 2 : 4; echo $d = $a < $c;5. 下列说法正确的是:( )A. 数组的下标必须是数字,且从0开始。

B. 数组的下标可以是字符串。

C. 数组中的元素类型必须一致。

D. 数组的下标必须是连续的。

6. 以下代码的运行结果为:( D )<?php$a = array(‘Monday’,’Tuesday’,3=>’Wednesday’);echo $a[2];?>A. MondayB. TuesdayC. WednesdayD. 没有显示7.下列程序运行结果为<?php$arr=array(‘a’=> 123, ’b’ => 456, ’c’ => ’789’);for($i = 0; $i < count($arr); $i++){echo $arr[$i]. ’&nbsp;’;}?>Attention: &nbsp; 代表一个空格。

答:无运行结果•如何定义常量定义常量:define(“常量名称”,常量值, [true]);Define(“PI”,3.14);Define(“BR”, “<br />\n”, true);•抓取客户端ip地址$-server(pemote-adr)•判断变量是否定义用?函数:defined()<?phpdefine("USERNAME","root");if(defined("USERNAME")){echo "USERNAME常量已经定义!";}echo"<br/>\n";$a=20;if(isset($a)){echo'$a变量已经定义'; }unset($a);if(isset($a)){echo"<br/>\n";echo'$a变量已经定义!'; }else{echo"<br/>\n";echo'$a变量未定义!';}echo"<br/>\n";$b="";if(empty($b)){echo'$b变量是空的';}echo"<br/>\n";if(is_null($c)){echo"该变量是NULL";}echo"<br/>\n";$F=0.0;if(empty($f)){}if(is_null($f)){}echo"<br/>\n";$d="";if(is_null($d)){echo"\$d变量时NULL"; }else{echo"\$d变量不是NULL"; }echo"<br/>\n";if(empty($d)){echo"返回true";}else{echo"返回false";}echo"<br/>\n";$e=NULL;if(is_null($e)){echo"\$e变量是null";}echo"<br/>\n";if(is_null($a)){echo"\$a变量是NULL";}?>•类的定义及实例化class Person{var $name = ‘lucy’;var $age = 24;var $sex = ‘女’;function walk(){}}实例化:new关键字 $this关键字•从结果集中抓取一行作为枚举数组的函数,作为关联数组的函数,封装成对象。

•数组和字符串转化函数explode(标记, string, number):将string按标记分隔,组成数组元素,number是数组元素个数。

implode(标记, array):将数组中的元素用标记连接成一个字符串。

$a = “linux&apche&mysql&php”;$arr = explode(‘&’, $a, 4);// 将字符串分割成数组元素foreach($arr as $k => $v){echo “\$arr*$k+ => ”.$v.’<br>’}$s = implode(‘ + ’,$arr); // 将数组$arr用+连成字符串echo $s;•PHP的访问控制修饰符Public:访问没有限制(var)Protected:只有类的内部和子类内部可以访问Private:只有类的内部可以访问•构造函数和析构函数构造方法:是类中的一种特殊方法。

特点:构造方法必须命名为__construct();构造方法在类实例化时自动调用;构造方法没有返回值;作用:通常用于类的初始化;析构方法:是与构造方法相对应的另一个特殊方法。

特点:析构方法必须命名为__destruct();析构方法没有参数;析构方法没有返回值;析构方法在对象被销毁是自动调用。

作用:销毁对象,释放内存。

•unix时间戳UNIX时间戳:是指UNIX纪元(格林威治时间1970年1月1日00时00分00秒)开始到当前时间为止相隔的秒数。

因此UNIX时间戳是一个很大的整数。

1. time(): 获取当前时间的UNIX时间戳。

2. mktime(int h, int i, int s, int m, int d, int y):3. strtotime(‘Y-m-d H:i:s’):取得指定时间的UNIX时间戳。

echo time();echo mktime(13,41,20,08,25,2009);echo strtotime(‘Y-m-d H:i:s’);4. string date(string format[,int timestamp]):将UNIX时间戳转换为指定格式的日期时间。

echo date(‘Y-m-d H:i:s’,time());5. microtime():返回微妙数和UNIX时间戳,字符串的两部分都是以秒为单位返回的。

$arr = explode(‘ ’, microtime());print_r($arr);•字符串翻转strrev(string):翻转字符串•常用的关键字Final:只能用来定义类和成员方法。

用final修饰的类不能被继承。

用final修饰的方法不能被重载。

Static:只能修饰成员属性和成员方法static 修饰成员属性,不能用对象访问,需用类名::成员属性访问。

static 修饰成员方法,使用类名::方法名访问,也可使用对象来访问(不提倡)。

用static声明的方法里不能使用非static成员(ex: $this->name)。

Const:只修饰成员属性,声明时赋初值,需类名::成员属性访问。

Self:代表类本身,引用类中的静态变量或类常量。

Parent:代表父类的引用。

::—引用父类成员、引用静态成员或引用类常量。

•面向对象部分:继承,抽象类和抽象方法,接口。

继承class Person{public $name;protected $age;protected $sex;function __construct( $n, $a, $sex ){$this->name = $n;$this->age = $a;$this->sex = $sex;}function getInfo(){echo '姓名:'.$this->name.'<br>';echo '年龄:'.$this->age.'<br>';echo '性别:'.$this->sex.'<br>';}}class Student extends Person{private $school;function __construct($n, $a, $sex, $school){____________________;$this->school = $school;}function getInfo(){____________________;echo '学校:'.$this->school.'<br>';}}$stu1 = new Student('刘亦菲',22,'女','清华大学');$stu1->getInfo();$stu2 = new Student(‘张宏良,25’男’,‘中央民族大学’); $stu2->getInfo();抽象类和抽象方法abstract class Shape{private $shape;function __construct($shape){$this->shape = $shape;}function getShape(){return $this->shape;}abstract function getArea();}class Circle extends Shape{private $r;const PI = 3.14;function __construct($s='',$r){parent::__construct($s);$this->r = $r;}function getArea(){echo ‘半径为’.$this->r.’的’.$this->getShape();echo ‘面积是:‘. self::PI*$this->r*$this->r; } }$c1 = new Circle(‘圆形’,10);$c1->getShape();$c1->getArea();已定义好Shape抽象类,定义子类:圆形、正方形、三角形,分别计算面积和周长。

相关主题