常规标记<?php ?>,推荐使用。如果整个文档都为php代码,可以省略结束的?>
<script language=“php”>
php代码
</script>
可以使用短标记<? ?>,需要在php配置文件中配置short_open_tag
可以使用 asp 风格在标记:配置项asp_tags
尽量不要使用短标记和asp风格。
Php语句需要使用分号来结束。但是通常最后一行可以不写分号。
PHP中可以使用注释:
单行注释://或#
多行注释:/* */
1.【变量】
PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。
一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。
php中虽然允许直接使用变量,但使用前声明是一个好的习惯
2【预定义变量】
PHP中存在大量的预定义变量
$GLOBALS 保存全局变量
$_SERVER 保存服务器信息
$_GET 保存get数据
$_POST 保存post数据
$_FILES 保存提交的文件
$_COOKIE 保存得到的cookie
$_SESSION 保存session数据
$_REQUEST 保存请求数据
$_ENV 保存环境
3.【可变变量】
在php中可以使用变量的值来作为变量名,变量名是可以变化的。
$first = ‘xiao’;
$second = ‘xin’;
if($country == ‘us’) {
$nickname = ‘first’;
} else {$nickname = ‘second’;
}
echo “hello {$$nickname;}”;
4【变量赋值】
变量之间默认的赋值是值传递,我们可以使用&让其引用传递
引用传递的两个变量为两个变量名指向一个值,因此修改其中一个另一个也一样变化
5【常量】
常量是一旦定义就不可以被更改的数据
使用define来定义常量
Define(“ROOT_PATH”, “e:/amp/htdocs/”);
其中常量名在默认情况下大小写不敏感的,可以通过define()的第三个参数来设定;常量的值可以为标量数据类型和NULL。
常量的访问,可以直接通过常量的名字访问;
也可以通过使用constant(‘content_Name’);函数来访问;还可以通过使用get_defined_constants();来获得所有定义的常量。
我们也可以使用defined()在使用常量前来判断常量是否被定义。
6.【变量与常量的区别】
一经定义不可改变
没有$
需要使用define来定义,不能通过赋值语句
常量在使用时在任何地方都可以,不必考虑作用域问题
常量一旦定义不能被重新改写或取消
常量的只能是标量数据
7【预定义常量】
PHP 向它运行的任何脚本提供了大量的预定义常量,一些扩展也预定义了一些常量。
例如:
PHP_VERSION php的版本
PHP_OS 当前的操作系统
PHP_INT_MAX 整型的最大值等
8【魔术常量】
在PHP中有存在魔术常量,他们的值随位置的改变而发生变化:
例如常见的魔术常量:
__LINE__文件当前的行号
__FILE__文件的完整绝对路径
__DIR__文件的所在目录等
9【数据类型】
PHP 支持8种基本的数据类型。
四种标量类型:
boolean(布尔型)
使用不区分大小写的true和false来表示布尔型的值
在使用类型转换时,以下值将被转化成Boolean值 false
False 整型0 浮点型0.0 空字符串 字符串’0’ 空数组 NULL和尚未定义的变量
除此之外,全部认为是true
integer (整型)
整型值可以使用十进制,十六进制或八进制表示,前面可以加上可选的符号(- 或者 +)。
八进制表示数字前必须加上 0(零),十六进制表示数字前必须加上 0x。
在32位机器上整型的最大值为2147483647,可以使用常量PHP_INT_MAX来获得
如果指定的值超出了最大的值,系统将其自动的转化为浮点型
float (浮点型)
浮点型(浮点数,双精度数,实数)
可以使用科学计数法表示
$a = 1.234; $b = 1.2e3; $c = 7E-10;
string (字符串)
字符串的定义
单引号
双引号
Heredoc和nowdoc语法结构,使用此结构定义的字符串,一定要注意其结束的标记必须定格,而且要单独一行
在字符串中解析变量时,可以使用$var_name的形式也可以使用{$var_name}的形式,后者可以解析例如对象属性,方法之类的复杂的结构
两种复合类型:
array (数组)
数组是一组数据的集合,在php中是以key/value映射实现数组的。
可以使用array()语法直接定义数组,也可以使用[]语法定义数组
数组可以同时包括整型下标和字符串下标。以浮点数做下标,将被强制转化为整型,以true做下标,转化为1,以false做下标转化为0。可以使用空字符串做下标。
object (对象)
对象也是一种复合的数据类型,其中不但可以包含数据,也可以包含处理数据的函数(方法)
最后是两种特殊类型:
resource (资源)
资源是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的
例如mysql_connect()将产生一个数据库连接资源。
NULL (NULL)
特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 大小写不敏感的NULL
以下情况,被视为NULL:
被赋值为 NULL。
尚未被赋值。
被 unset()。
通过将一个变量赋值为null,来删除该变量
10【与数据类型相关的函数】
Var_dump();打印变量的信息,包括类型
Gettype();获得变量的类型 不建议使用使用is_类型系列函数替换!
Settype();设定变量类型
Is_array();
Is_string();
Is_bool();
Is_integer();is_int();
Is_float();
Is_numeric();检测一个值是否是数字(或数字类型的字符串)
Is_object();
Is_null();
Is_resource();
Is_scalar();//检测一个值是否是标量数据类型
Isset(); 判断一个变量是否定义
Empty();判读一个变量是否为空
Unset();释放变量。 附,值和类型 isset empty对照表
11.【运算符】
算术运算符
字符串运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
其他运算符
运算符优先级
12【PHP结构控制】
程序流程图
圆角矩形表示“开始”与“结束”。
矩形表示行动方案、普通工作环节用
菱形表示问题判断或判定(审核/审批/评审)环节
用平行四边形表示输入输出
箭头代表工作流方向
13【PHP函数】
函数的参数(值传递,引用传递)
函数的返回值
变量的作用域
可变函数
匿名函数
函数的递归调用
14【作用域】
局部作用域和全局作用域
在函数内部引用全局变量的方法
Global $foo;
$GLOBALS[‘foo’];
超全局变量,例如上面的$GLOBALS即可以在全局范围内使用,也可以在局部范围内使用。类似的还有如下的预定义变量