自己在学习PHP过程中留下的一些足迹,也是为了方便日后的复习和知识点的查询,在此分享给大家。
1.PHP中,双引号和单引号都是字符串,但是双引号中的变量输出的是变量值,单引号把变量当做字符串输出,没特别要求,尽量使用单引号定义
<?php $a = 'aaa'; echo '$a'; //输出的是$a echo "$a"; //输出的是aaa ?>
2.转义字符
\n 换行
\r 回车
\t 水平制表符
\\ 反斜杠
\$ 美元符号
\' 单引号
\" 双引号
\[0-7]{1,3} 正则表达式匹配一个用八进制表示的字符,如\467
\x[0-9A-Fa-f]{1,2} 正则表达式匹配一个用十六进制符号表示的字符,如\x9f
3.整型
八进制整型前必须加数字0
十六进制必须加0x
如果八进制中出现了非法数字,如8、9...,则后面的数字自动被忽略
4.资源(resource)又叫做句柄
5.数据格式转换
可直接在变量前添加括号写上数据类型
可使用函数settype(mixed var,string type);函数转换,返回布尔结果,var是带转换变量,type是数据类型,七个可选值,boolean、float、integer、null、object、array、string
6.检测数据类型
在数据类型前添加is_...();函数即可检测,如is_string($a);
is_numeric();函数检测变量是否为数字或由数字组成的字符串
7.常量的定义,使用函数define(string constant_name,mixed value,case_sensitive=true);
参数constant_name 必选参数,常量名称
参数value 必选参数,常量的值
参数case_sensitive 可选参数,指定是否大小写敏感,设定为true,表示不敏感
8.判断一个常量是否被定义,使用函数bool defined(string constant_name);定义过返回true,否则返回false
9.PHP中的预定义常量
__FILE__ 默认常量,PHP程序文件名(注意前后下划线是各两条)
__LINE__ 默认常量,PHP程序行数(注意前后下划线是各两条)
PHP_VERSION 内建常量,PHP程序的版本
PHP_OS 內建常量,执行PHP解析器的操作系统名称,如Windows
TRUE 该常量是一个真值(true)
FALSE 该常量是一个假值(false)
NULL 一个null值
E_ERROR 该常量指到最近的错误处
E_WARNING 该常量指到最近的警告处
E_PARSE 该常量指到解析语法有潜在问题处
E_NOTICE 该常量为发生不寻常处的提示但不一定是错误处
实例:
echo '文件路径:'.__FILE__; echo '<br>总共行数:'.__LINE__; echo '<br>操作系统:'.PHP_OS; echo '<br>PHP版本:'.PHP_VERSION;
10.可变变量实例
$change_name = 'trans'; $trans = 'You can see me!'; echo $change_name; //输出trans echo '<br>'; echo $$change_name; //输出You can see me!
11.PHP预定义变量
$_SERVER['SERVER_ADDR'] 当前运行脚本所在服务器的ip地址
$_SERVER['SERVER_NAME'] 当前运行脚本所在服务器的主机名称
$_SERVER['REQUEST_METHOD'] 访问页面时的请求方法。如GET、HEAD、POST、PUT等
$_SERVER['REMOTE_ADDR'] 正在浏览当前页面用户的ip地址
$_SERVER['REMOTE_HOST'] 正在浏览当前页面用户的主机名
$_SERVER['REMOTE_PORT'] 用户连接到服务器时使用的端口号
$_SERVER['SCRIPT_FILENAME'] 当前执行脚本的绝对路径
$_SERVER['SERVER_PORT'] 服务器所使用的端口
$_SERVER['SERVER_SIGNATURE'] 包含服务器版本和虚拟主机的字符串
$_SERVER['DOCUMENT_ROOT'] 当前运行脚本所在文档根目录
$_COOKIE 通过HTTPCookie传递到脚本的信息
$_SESSION 包含与所有会话变量有关的信息
$_POST 包含通过POST方法传递的参数的相关信息
$_GET 包含通过GET方法传递的参数的相关信息
$GLOBALS 由所有已定义全局变量组成的数组
12.比较运算符
=== 恒等运算符,$a===$b说明$a和$b不只是数值上相等,两者的类型也相同
!== 恒等运算符,$a!==$b说明$a和$b或者数值不等,或者类型不等
13.函数参数——默认参数(可选参数)
function values($price,$tax=""){}
上述函数的第二个参数为默认参数,使用的时候可有可无
14.对函数的引用
在声明函数和使用函数时都用&符号,对函数的引用,说明返回值是一个引用
function &example($tmp=0){ return $tmp; } $str = &example("Hello"); echo $str;
15.取消引用使用函数unset();
$num = 1234; $math = &$num; echo '引用num的值:'.$math; unset($math); echo '<br>取消引用后:'.$math; echo '<br>被引用的值:'.$num;
16.命名规则
类命名:使用大写字母作为词的分隔符,其他字母均使用小写,首字母大写,不使用下划线。如:Name、SuperEngineer
类属性命名:以字母“m”为前缀,后采用与类名一致的命名规则。如:$mValue、$mLongString
方法命名:与类名命名规则一致。如:function GetLessonOne(){}
方法中的参数命名:第一个字符使用小写字母,后面的字符按照类命名规则命名。
变量命名:所有字母都使用小写,使用下划线作为每个词的分界。如:$msg_error
引用变量/函数命名:名称前以“r”作为前缀,后面的命名规则与类命名规则一致。如:$str=&$rExam
全局变量:在类命名规则的基础上加上前缀“g”即可。如:$gTest
常量/全局常量:全部使用大写字母命名,单词之间使用下划线来分隔。如:DEFINE_NUM_AVG
静态变量:在类命名规则的基础上加上前缀“s”即可。如static $sStatic = 1;
函数命名:所有字母都使用小写,多个单词使用下划线分隔。如:function this_good_idear(){}
17.流程控制的另一种书写格式,使用“:”代替左边大括号“{”,使用endif、endwhile、endfor、endforeach、endswitch代替右边的大括号“}”
$num = 1; while ($num < 100): $num += rand(1, 10); if ($num % 2 == 0): echo 'num='.$num.'是偶数<br>'; endif; endwhile;