PHP语法记录

格式 作用
<?php       ?> 存放在后缀名为.php文件中,文件可包含HTML、CSS、JS、普通文本并与php代码任意穿插(php解释器只解释php代码,其余均原样输出),php代码包裹在左侧格式中,当后续没有其他代码时,后缀一般省略。php代码可接收表单、cookies、读取服务器上的数据库、文件等、限制访问页面、加密数据等。
注释 采用//为单行注释,/*  */为多行注释,与C++相同。
1、变量类型(前缀为$
布尔型 字面量为true、false输入,一般用于流程控制
整型 字面量可按照十进制、十六进制(前缀0x)、八进制(前缀0)输入
浮点型 字面量为带小数点的数据,一般用于科学计算
字符串 字面量为双引号或单引号包裹的数据,双引号内可输出变量
空型(NULL) 一般为可空的字符数据、或数据库中存储的数据,字面量为null
数组(两种定义类型、元素类型可不相同) $cars=array("NISSAN","Benz","Jeep");
$age=array("Mangus"=>"35","Knight"=>"37","ZhenQi"=>"43");
对象(object) 实例化的class关键字声明的类对象,采用new关键字实例化
资源型(resources) 一种特殊变量,保存到外部资源的一个引用,常见资源数据类型有打开文件、数据库连接、图形画布区域
命名空间 namespace MyNames{}定义
2、运算符(包括类型转换)
+ - * / % ~ . =(包括+= -= *= /= %= .=) ++ -- == ===(类型也相同) != <> !== > >= < <= and or xor && || ! 数组运算符(+ == === != <> !==) ?: <=>(太空运算符值为1/0/-1) ->(对象调用) this指针
优先级如下:(从高到低)
结合方向 运算符
clone new
[ ]
++ -- ~ (int) (float) (string) (array) (object) (bool) @
instanceof
!
* / %
+ – .
<< >>
== != === !== <>
&
^
|
&&
||
? :
= += -= *= /= .= %= &= |= ^= <<= >>= =>
and
xor
or
,
3、流程控制语句
if...elseif....else  采用代码块包裹,与C++语言相同
switch(n)...case break进行分支跳出,与C++语言相同
while 前置判断循环
do...while 后置判断循环
for 指定起、终、步长循环
foreach 遍历数组foreach($age as $value),只获取数组变量值
遍历数组foreach($age as $x=>$x_value),可获取数组变量键与值
4、函数定义
函数定义 function add($var1, $var2 = value) { .....; return $answer; }
调用方式 一般调用$func($variale)
可将字符变量作为函数名来调用的函数,类似委托$func = 'foo';  $func(); 
5、魔术常量(预定义常量)
__LINE__ 文件中的当前行号
__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
__FUNCTION__ 函数名称,区分大小写
__CLASS__ 类的名称,区分大小写
__TRAIT__ Trait的名字,PHP实现了代码复用的一个方法,称为 traits。
__METHOD__ 类的方法名,区分大小写
__NAMESPACE__ 当前命名空间的名称,区分大小写
6、面向对象(类的定义与实例化)
类定义 class phpClass { }
构造函数 void __construct ([ mixed $args [, $... ]] )
析构函数 void __destruct ( void )
继承 class Child extends Parent { ... }
方法重写 与父类同名即可
访问控制(类、方法、字段) public(公有)、protected(受保护)、private(私有)、字段默认为私有、方法默认公有
接口 接口是通过 interface 关键字来定义,方法默认公有,类实现接口,使用 implements 操作符
常量 可以把在类中始终保持不变的值定义为常量。在定义和使用常量的时候不使用$符号。
抽象类 任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。
Static 关键字 声明类属性或方法为 static(静态),就可以不实例化类而直接访问。
Final 关键字 如果一个类被声明为 final,则不能被继承。
调用父类构造方法 PHP 不会在子类的构造方法中自动的调用父类的构造方法。要执行父类的构造方法,需要在子类的构造方法中调用 parent::__construct() 。