《PHP, MySQL, Javascript和CSS》读书随手记----php篇
1. 基础
- 注释: // 或 /* */
- $标示变量
- 语句末尾加分号
- 数组: $oxo = array(array('x','','o'), array('p','x',''),array('','x','p'));
- echo $oxo[1][2]
- 常量: 之前不能用$符号, 只能用define函数定义
2. 对象复制
clone操作符
$obj2 = clone $obj1;
3. 类
- 类的构造方法: __construct()
- 析构方法: __destruct()
- 静态方法: static 调用 User::static_function()
4. include_once 和 require_once.
尽量使用xxx_once,防止多次定义同名的常量或函数报错
include_once存在的问题是,PHP只会试图导入被请求的文件, 即便文件没有被找到程序依旧会继续执行.
5. 术语:
- 当创建一个程序使用对象时,需要设计一个数据和代码的结合体,称为类. 任何这个类创建出来的新对象称为该类的一个实例(或事件).
- 和对象有关的数据称为属性, 对象使用的函数称为方法.
- 在定义一个类时, 要提供属性的名字以及相应方法的代码..
- 使用继承,新的类会拥有继承类的所有属性. 原始类被称为超类, 新的类是子类. extends
- 派生一个类并声明自己的构造方法时, php不会自动调用父类的构造方法. 一定要知道所有代码的初始化, 子类总是要调用父类的构造方法. parent::__construct();
- 为了防止子类方法覆盖父类方法,可以使用关键字final
6. print_r,要求PHP按照常规阅读的格式输出变量的信息(_r代表"按照常规阅读格式")
7. 数组
数组循环的一个方法:
foreach( $papers as $paper) //papers是数组, paper循环获取papers中的元素
foreach( $papers as $item=>$description)
while(list($item, $description) = each($paper))
8. 使用数组函数
is_array($fred): 检查变量是否为数组
count($fred) : 统计数组顶层元素数量
count($fred, 1) : 获取一个多维数组中到底有多少元素. 第二个参数可选, 0或1, 0限制只统计顶层数组元素个数, 1强制且递归统计子数组的元素个数
sort($fred) : 在提供的源数组上直接排序. 排序成功返回true, 失败返回false
sort($fred, SORT_NUMERIC); : 强制按照数值排序
sort($fred, SORT_STRING); : 强制按照字符串排序
rsort() 按相反顺序排序
shuffle($fred) 按随机顺序排序
explode() 允许接受一个包含几个单一字母(或字符串)的独立项的字符串,并将这些项放入一个数组. 常见把一句话分解成包含所有单词的一个数组. 第一个参数表示分隔符
extract($_GET) 将传递给变量的值存起来
compact() 通过变量及其值来创建数组
9. 输出
printf 通过格式化字符控制文本的输出格式
sprintf 将结果传递给另一个变量而不是浏览器
10. 时间
date($format, $timestamp)
mktime(小时数,分钟数,秒数,月分数,天数,年数)
time()
11. 文件处理
file_exists 检测文件是否存在
fopen
fgets() 读文件 获取一整行数据
fread() 读取多行数据或多行中的部分数据
copy("test1.txt","test2.txt") 拷贝文件
rename() 移动文件或重命名
unlink 删除文件
flock($fh, LOCK_EX) 在多用户访问时为文件枷锁
flock($fh, LOCK_UN) 释放排他锁
file_get_contents 读取整个文件(甚至通过url请求html文件显示页面到屏幕)
12. 系统调用
exec()