1、变量引用
$a=10;
$b=&$a; //地址传递
2、输出(echo、var_dump、print_r)
echo输出布尔类型,true变成1,false变成空。
3、变量类型((标量类型)整型、浮点型、字符串、布尔、(复合类型)数组、对象、(特殊类型)资源、null类型;取值用var_dump或print_r)
数组:$a=array("a","b");$b=array(‘01‘=>‘a‘,‘02‘=>‘b‘);
对象:(假设User类中有say方法)$user=new User(); $user->say();
资源:连接数据库资源
4、isset(没用定义、null)判断变量是否存在,empty(0、“”、“0”、false、array、没有定义、null)判断变量是否为空。
5、is_int、is_float、is_string、is_bool、is_array、is_object、is_resource、is_null
is_scalar:是否是个标量(int、float、String、bool)。
is_numeric:是否是个数字或者数字字符串。
is_callable:验证变量的内容能否作为函数调用(而不是语言结构(print、echo、array、list))。
6、unset删除变量,很少使用。
7、双引号中的变量会被解析({}括住),单引号中的变量不被解析。(单引号比双引号快)
8、常量(include("文件名"))
常量定义:define(”HOST“,”localhost“);
9、预定义常量
PHP_OS:当前操作系统
PHP_VERSION:php当前版本
_LINE_:当前行号
_FILE_:当前文件位置(php看重绝对路径)
_FUNCTION_:当前函数名
M_PI:圆周率
10、运算符
@:屏蔽错误
->:对象运算符(调用对象方法和属性)
=>:关联数组运算符($b=array(‘01‘=>‘a‘,‘02‘=>‘b‘);)
===:检测类型
逻辑运算符注意开关
11、终止脚本
exit
die([msg])
12、函数
可变参数序列函数:
func_num_args:参数个数;func
global把局部变量变成全局变量;引用参数&$a。
回调函数:function sum(){}; function fun($a){}; fun("sum");
静态变量:static $num。
文件包含:include(包含出错脚本继续执行)、require(包含出错脚本终止执行)
13、php执行过程
加载页面
语法检测(语法检测、加载函数)
执行脚本
14、数组遍历
混合数组遍历:foreach($arr as $key=>$value){}
15、超全局数组
$_SERVER:查看服务器信息
$_GET:获得get提交过来的数据
$_POST:获得post提交过来的数据
$_REQUEST:获取提交(post或get)数据
$_COOKIES:不同页面数据传递(setcookies(string $name[,string $value,int $expire = 0]))
$_SESSION:不同页面数据传递(session_start; $_SESSION[‘name‘]="lisi";)
$_FILES:上传文件信息(上传文件编码 entype="multipart/form-data")
$GLOBALS:包含上面所有信息(包含全局变量)
16、数组相关函数
array_filter:数组过滤
array_map:对数组中所有数据加工
sort(rsort)升序(降序),不保留key;asort(arsort)升序(降序),保留key;ksort(krsort)升序(降序),对key排序
17、字符串处理函数
格式化输出:printf("--%s----%s--",$a,$b); //%s 字符串、%d 数字、%f 浮点型、%.2f 小数点后面两位
strlen() //获取字符串长度
trim
strtoupper(转为大写)、strtolower(转为小写)、ucfirst(第一个字母大写)、ucwords(所有单词首字母大写)
strrev(翻转)、md5(加密)、number_format(数值,小数点位数、小数点、千分位)、str_shuffle(随即打乱字符串顺序)
htmlspecialchars(转实体,例:<变成<)、addslashes(转义)、stripslashes(去掉转义)、strip_tags(去掉html标签)
explode(把字符串分割成数组)、implode或join(把数组拼接成字符串)、preg_split()
substr(字符串截取)、mb_substr(中文和字母不区分占字节)
strpos(某子字符串第一次出现位置)、strrpos(某子字符串最后出现的位置)、strstr、strrchr
str_replace(字符串替换)
pathinfo(解析文件路径)、parse_url(解析url地址)、parse_str(解析请求参数)
18、正则表达式
查找:preg_match()、preg_match_all(匹配多次)、preg_grep(搜索)
分割:preg_split()
替换:preg_repalce()
原子: . 任意字符、\w(\W)字母数字下划线、\d(\D)数字、\s(\S)空白字符、( )单元、[ ]
元字符:*(0-n)、+(1-n)、?(0-1)、|(或)、^(以什么开头)、$(以什么结尾)、\b(\B)单词边界
模式修正符:i(忽略大小写)、m(视为多行)、s(视为单行,.不匹配\r\n)、U(贪婪模式,最大模式)、e(匹配的加工)
\\1或$1(匹配第几个括号内容)
19、日期函数
time():时间戳,从1970.1.1 00:00:00开始算。
date(format,time):把时间戳变为时间。(Y-年、m-月、d-日、H-时、i-分、s-秒、w-周、t-月天数、L-是否为闰年)
strtotime():算某个时间的时间戳。
microtime():微秒(参数为1,方便参与运算)
20、错误处理
关闭和开启报错:php.ini文件 display_errors = On或display_errors = Off
报错级别:E_ALL(所有错误)、E_ERROR(严重错误)、E_WARNING(警告错误)、E_PARSE(语法错误)、E_NOTICE(提示错误)
报错地方: log_errors = On error_log = 错误日志放入自定义目录
原文:http://my.oschina.net/u/570654/blog/511079