php是后端脚本语言,和js一样可以在html任意位置嵌套,并且不会在前端显示。

类:的默认访问属性是public。类定义:class 类名{   },类里面使用类属性用$this->变量名。(访问时不需要$符号),类里面这个$this是一个伪变量代表一个类对象。

对象:$var = new myclass();成员访问 -> 符号 ,(访问时不需要$符号)。不能访问类的私有成员。

注释://行注释       # 行注释      /*块注释*/

变量:$var = 'number'  必须$符号开头,弱类型语言自动识别什么类型。

字符串:单引号不支持转义字符\ 只能原样输出并且变量不能被解析,"$var"双引号可以解析变量。但是"hello '$number' world"这种外层有双引号包含的,那么里面单引号包含的变量还是会被解析。字符串连接用点 . 符号连接。

常量:define("常量名","常量值");const 常量名=常量值;        常量名全部大写 。

echo:显示输出,echo直接写需要显示的内容不需要括号。如果一个函数返回值是false时,用echo打印这个函数返回值打印不出来。

数组:$arr = array(1,2,3)里面数组全部是key键:key值对形式存在,如果没有设置键,会自动生成从一个0开始自增的键。如果修改一个不存在的键,会自动增加这个键。如果访问的一个不存在的键,会出错。

@错误控制符,捕获异常,@符号表示语句在运行时产生错误会被忽略。

instanceof函数判断一个类型是否属于另一个类型。

函数:function fun1(参数){  }

引用传参:函数里面被改变会影响函数外部。形参前面加上&引用符号,并且实参传递进去的时候,实参不能是常量。function fun2(&$var){    }

可变长参数:function fun3 (...$args){   };里面可以传任意个数的参数,都会保存到$args数组里面。

匿名函数:把函数赋值给一个变量,通过变量就可以调用这个函数。

闭包:就是在函数里面声明一个匿名函数。匿名函数使用父函数的参数时需要使用use关键字声明。$var = function () use(父函数参数名) {        }

变量作用域:如果函数里面要使用全局变量,需要使用global声明。

超全局变量:$GLOBALS数组,对所有php文件都有效。所有定义的全局变量都可以在$GLOBALS中找到。

遍历:foreach(可迭代 as $key $value)。

继承访问:子类对象创建时如果子类没写构造函数会调用父类构造,子类有构造的情况下不会自动调用父类的构造函数,除非在子类里面使用parent::手动调用父类构造。子类可以直接使用$this访问父类的属性,子类和父类存在重名函数时,默认调用子类,调用父类使用parent::调用。

文件包含:require关键字包含 ,require_once关键字包含文件时会检查是否已经被包含,防止被重复包含。

命名空间:相当于文件目录功能,表示该文件在哪个目录下。namespace关键字声明且必须在文件第一行声明。当A文件声明了命名空间时,在B文件调用A里面内容时前面必须加上A文件的命名空间名。

boolen类型:0可以表示false,非0表示true。

strpos()函数:strpos(被查找字符串,子字符串)查找str里面有没有一个子str,有就返回子str第1次出现的下标,没有就返回flase。子字符如果出现在字符串的第1个字符,那么返回下标为0,但是0可以表示为false需要注意。