面向对象特性
public/private/protected访问修饰符,针对对象中的方法和属性
统一的构造函数名称__construct().
通过__destructor()定义对象的析构方法
接口
instanceof操作符
final方法--不能被子类重载
final标记类 --不能被子类继承
强制复制对象 必须用clone关键字
类中的常量可以用类来引用 const AA="AA" --> Class::AA
静态方法 不支持$this变量 Class::method();
静态成员 通过类自身来访问 self::$instance;
抽象类 防止被实例化
抽象方法
对象类型提示 函数声明中对参数进行对象类型提示,不正确系统报错
支持连续引用方法返回的对象 $obj->method()->method2();
迭代 实现Iterator接口后,可以用foreach()遍历一个类实例
__autoload()方法
其他特性
try/throw/catch 你只能抛出继承Exception的类
foreach 函数支持引用 循环参数加上&符号,可以在循环中更改数组的值
给引用参数设置默认值 php4只能给传递值的参数设置默认值,php5可以给传递引用的参数设置默认值
基础
php不支持全局变量,除了一些预定义的变量
间接引用
管理变量
isset() 用来判断某个变量是否已经被声明。返回布尔值
isset(v1,v2,v3…)可以接受多个参数,所有变量都定义的情况下才返回true
unset()取消定义之前的变量,如果没有其他变量引用它的话会释放变量使用的内存空间
empty() 判断变量是否没被声明或者值是false
预定义超全局变量
$_GET[],$_POST[],$_COOKIE[],$_ENV[],$_SERVER[]
基础数据类型
8种数据类型
整型
浮点型数字
字符串
单引号不支持双引号的转义和变量替换 定界符以<<<符号开始,紧跟的字符串不能在文本中出现。
定界符转义和变量替换基本和双引号相同,不同的是不需要转义双引号。
访问字符串中的字符 $str{1}
布尔型 空字符串("")和0("0")字符串为false
NULL
Resources
数组 php的数组是使用哈希表构建的。 array([key=>] value,[key=>] value,...) 方括号中元素可选
访问数组元素
$arr1[0]
使用foreach遍历数组
常量 define("CONSTANT_NAME",value [,case_sensitivity]) case_sensitivity大小写敏感,默认true
比较运算
1=="1" true
1==1 true
1==="1" false
1===1 true
类型转换
(int),(integer)
(float),(real),(double)
(string)
(bool),(Boolean)
(array)
(object)
代码包含控制结构
include file_name;
require file_name; require会停止代码执行,include只会警告
eval() 把代码当作字符串包含进来再执行
通过值返回数据
通过引用返回数据
传递值的参数
传递引用的参数
默认参数
0 件のコメント:
コメントを投稿