PHP学习笔记
1. 数据类型8种:布尔型 整型 浮点型 字符串型 数组 对象(object) 资源(resource) 空值(null)。未赋值的变量是不会分配空间的。整型都是有符号的。一个整数超过了范围,会自动变成浮点型。
常量也可以用const定义 const TAX_MAX = 0.8;
2 八进制前必须以“0”开头 十六进制“0x”。
3 字符串3中表示:单引号 双引号 定界符(<<<EOF EOF结束标示符必须从行的第一列开始,该行除了末尾分号之外不能包含其他任何字符)。
4 string gettype(mixed $var)获取变量的数据类型。
is_bool() is_integer() is_null() is_string() is_array() ……
5 常量大小写敏感 ,有是否敏感选项define ("PATH","/dir/"(,ture/false))
变量带小写敏感
6 .链接字符串运算符 还有一个是.=
7 异或 xor 不等于 != 或者 <> 不全等于!== (比较一个字符串和整数,字符串被转换成整数后比较,比较两个字符串,讲他们都转换成整数后比较)
&& ||优先级要比and or 高,and or 优先级比=还要低,所以&f=false || true (true) &f=false or true (false)
8 var_dump -- 打印变量的相关信息
9 continue 后面可跟一个数字,表示跳出的循环层数 break用于for while do...while switch break可跟一个数字表示跳出几重循环语句
10 include(‘a.php’)包含文件中定义的变量在被包含文件中有效,同时,被包含文件中定义的变量函数等具有全局作用域。
在被包含文件中使用return语句返回值,被包含文件只能是在本地文件中使用。
推荐使用include_once()
include 和 require 很相似,除了在错误处理方面的差异:
require 会产生致命错误 (E_COMPILE_ERROR),并停止脚本
include 只会产生警告 (E_WARNING),脚本将继续
11 unset()释放引用,不会销毁变量的内容。
对函数引用必须在定义函数和调用函数的地方都&。
12 $_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。
$_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。
$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。
$_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。
13 fopen() 函数用于在 PHP 中打开文件
文件可能通过下列模式来打开:
模式 | 描述 |
---|---|
r | 只读。在文件的开头开始。 |
r+ | 读/写。在文件的开头开始。 |
w | 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。 |
w+ | 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。 |
a | 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。 |
a+ | 读/追加。通过向文件末端写内容,来保持文件内容。 |
x | 只写。创建新文件。如果文件已存在,则返回 FALSE。 |
x+ |
读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。 注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。
|
fclose() 函数用于关闭打开的文件
feof() 函数检测是否已达到文件的末端 (EOF) 在 w 、a 以及 x 模式,您无法读取打开的文件
fgets() 函数用于从文件中逐行读取文件 在调用该函数之后,文件指针会移动到下一行
fgetc() 函数用于从文件逐字符地读取文件 在调用该函数之后,文件指针会移动到下一个字符
14 数学函数:rand(int min,int max)---随机函数
round(float val,int precision)---对浮点数四舍五入(precision表示小数位数)
floor(float val)---舍去法求整
ceil(float val)---进一法取整
15 foreach仅能用于数组。array_search(要查找的值,数组,true)。bool sort(数组,sort_flag)升序。bool rsort(数组,sort_flag)降序。
bool array_multisort()对多个数组或者多维数组排序。
16 类
class foo{ public $name; private $age; function _construct($name)//构造函数 { $this->name=$name; } public function setname($name) { $this->name=$name; } function _destruct() { echo "Object foo destroyed"; } }
实例化: $a= new foo("yan");
方法调用:$a->setname("na");
类的释放:$a=null;//此时自动调用析构函数
17 类的继承
class sonClass extends parentClass{
function _construct($name)
{
parent::_construct($name);
}
}
parent::访问父类,self::访问当前类。
18 类的常量 const zero=0; 大小写敏感
19 静态属性:static $name(与类的常量一样)
静态方法:public static function add(){}
20 魔术方法 类内定义_toString() print echo将自动调用该方法
克隆函数_clone eg: $cloneObject = clone $object;
类内定义,克隆对象时自动调用 public function _clone (){}
21 finally 关键字可以对继承和重载进行限制。
22 不能从多个类继承,但是可以继承自多个接口。
23 声明接口
interface inerfacename{ public function functionname(); }
实现接口的类
class classname implements inerfaceA,interfaceB,...{ //类实现 }
可以使用intanceof运算符检查一个类是否执行了一个接口。