一、数组:
1、创建一个新的数组:$arr = array();
2、php有两种数组,索引数组与关联数组。
索引数组:下标0123,像JS里的数组一样。
关联数组:下标为字符串,像JS里的json对象一样。
3、索引数组的赋值:有三种形式:$arr=array("苹果"); $arr[0]="苹果"; $arr=array(0=>"苹果");
关联数组的赋值:有两种形式:$arr = array("apple"=>"苹果"); $arr["apple"]="苹果";
二、函数:
1、函数中如果没有return,默认返回值为NULL。
2、可变函数:通过变量的值来调用函数。 调用方法:变量名加括号。
例:function f1(){}; $name=f1; $name();
3、判断函数是否存在:function_exists(函数名),返回值为 true / false 。类似的还有 class_exists()、file_exists()、method_exists()。
三、类与面向对象。
1、类:类是一类东西的结构描述,二对象则是一类东西的一个具体实例。
2、类的定义: class Car{ }; 实例类:new Car();
3、类的属性:类中定义的变量称之为属性,也叫类的字段。由 属性声明 变量名组成。
属性声明:public、protected、private:表示公开的、受保护的、私有的。默认为public。
访问:一般通过->来访问对象的方法或属性。对于静态属性则使用::进行访问。
4、类的方法:类里的function称为方法,声明同样有public、protected、private。
静态方法:使用static声明的,称为静态方法,静态方法不需要实例化对象,可以通过类名::直接调用。
5、构造函数:在类中使用__construct()定义一个构造函数,会在对象初次实例化的时候调用,常用来进行一些初始化操作。
6、析构函数:在类中使用__destruct()定义,当对象的所有引用被删除,或对象被显式地销毁( 如unset() )时会执行的函数。
7、静态关键字static:静态属性和方法可以不再实例化的情况下调用,使用 类名::方法名 的方式调用。 ps:不能通过->形式调用。
静态方法中,不能使用$this,但可以使用self、parent、static在内部进行调用。
8、访问控制:
public:可以在任何地方被访问。
protected:只可以在其自身、子类或父类中访问。
private:只在当前类中进行访问。
类的属性:必须制定访问控制类型。
9、对象继承:class 子类 extends 父类{ } ;
10、重载:动态创建属性和方法,是通过魔术方法实现的。
属性的重载:通过 __set、__get、__isset、__unset 实现对属性的 赋值、读取、判断、销毁。
方法的重载:通过 __call 实现。当调用不存在的方法时,就会执行__call方法。
11、对象其他特性:
对象比较:同一个类的两个对象,如果所有属性都相等,==值为true。如果两个对象是同一个引用地址,则===值为true。
对象克隆:$obj2 = clone $obj1 ;
对象序列化:使用serialize()进行序列化,使用unserialize()进行反序列化。 $str = serialize($obj); $obj = unserialize($str);