1.常量
是在一个脚本周期中不能被改变的数据,常量的声明一般放在文件的开头一般常量保存,版本号,路径,数学计算中的圆周率
1)定义常量的两种方式
a)Define()
define('version',7.1);
echo version;//7.1;
b)Const
const PI = 3.14;
echo PI;
2)常量不允许重复定义,会报错
不影响代码的执行。
去除报错:@错误抑制符,可以屏蔽错误信息的提示;
2运算符
运算符的分类,按照功能分类;
l 算术运算符
1)基本符号:+, -, *, /, %
2)操作数不能为0情况
除法中的分母,和求余数
整数和字符串相加,会自动找字符串最前面的数值进行计算:
l 赋值运算符=
赋值运算符是把等号右边值,或者表达式的结果赋给左边的变量
l 比较运算符
比较运算符的结果返回是一个bool类型的
l 逻辑运算符
1) 逻辑与:&&
True && true-----true
True&&false----false
False&&false---false
False&&true---false
&&运算只要有一个是假的,结果就是假的
2) 逻辑或:||
只要有一个是真的,结果就是真的
3) 逻辑非:!
!true ---false
!false ----true
4)逻辑运算符中的短路现象
l 连接运算符
主要用于字符串的拼接
1) 连接符:.
可以把两个字符串通过.运算符来进行拼接,左右都是拼接的值
例如: ‘abc’.’def’
2) 自连接符:.=
例如:$a=’abc’
$a.=’def’ ----‘abcdef’
把.=后边的字符串拼接到$a字符串的后边
l 自操作运算符
1) 自增运算符:++
++的含义就是自增,并且每次自增1
例如:$a=1;
$a++; 这时候$a就是2,(先得到a值后算)
++$a; 这时候$a也是2,(先计算再得到a值)
2) 自减运算符:--
3)自赋值运算符:+=, -=, *=, /=, %=, .=
运算符分类(按照操作数的数目)
1) 单目运算符:操作的数值只有1个
++ --
+= -= *= /= %= .=
2)双目运算符:操作数只有2个
3)三目运算符 :又称条件运算符.a>b?a:b;
3.流程控制
1)顺序结构
代码按照先后顺序来执行,从上至下;
2)分支结构
a.if语句
if判断流程
b.switch语句
switch控制流程
3)循环结构
a.for循环
for(初始值,条件,数据改变)
{
//循环体
}
b.while循环
while(条件)
{
//循环体
//条件数据的变化
}
c.do while循环语句
do{
循环体
} while(条件);
不管条件是否满足,都会至少执行一次循环体;
4.函数
1. 函数的概念
就是完成特定功能的代码集合;
a. 函数的定义
function 函数的名字([参数1,参数2....])
{
//函数体
}
b.参数详解
函数调用放在前后都会解析掉。
关于形参,如果没有值会报错;
给了默认值则不会提示;
2.关于数据之间的传递
值传递:数值之间相互传递的时候,下面的10是a变量的值10的副本,两者之间相互不影响
想要跟随改变需要在前面加上一个&符号, $b = &$a;改变为引用传递;
函数形参的引用传递
想要改变info值,formation的值同样跟随改变,需要进行址传递(引用传递):在info形参变量中加个&符号
2.函数的返回值
函数的返回值使用到return关键字,把需要返回的信息,直接放在return后边就可以了
Return返回值只是返回到函数调用的地方 return执行以后,函数调用结束,函数中的代码不再执行
return语句用于结束函数
return语句用于返回数据
3.函数中变量的作用域
局部作用域,全局作用域
1.局部变量在全局中使用:报错
解决方案:添加global $name;可以在外部打印出来;
2.函数内部使用外部的变量:
使用$GLOBALS['name']来解决
局部变量
在函数中声明的变量就是局部变量
全局变量
在函数外部声明的变量就是全部变量,PHP中全局变量不能直接在函数中使用,如果使用
需要使用$GLOBALS数组 下标是全局变量的名字 来获得全局变量的值
超全局变量
PHP内部系统提供的一些变量,可以在任何地方使用 不需要自己定义可以直接使用的
$_SESSION $_COOKIE $_GLOBALS $_GET $_POST $_SERVER
4.系统内置函数
a. 有关输出的函数:sprintf()---和C语言比较相似
b. 有关时间的函数:date(), time(), microtime()
date(),输出一个格式化的时间
time()返回一个时间戳
(如果有时差问题,需要改apache版本下bin文件里的php.ini)使用的是欧洲的失去需要改成中国的
date.timezone = Europe/Paris ===>date.timezone =PRC;
Microtime()返回当前UNIX时间戳
echo microtime();//微秒数,//时间戳
计算代码执行时间:
c.有关数学的函数:max()—最大值, min()—最小值, rand()—随机值, mt_rand()—更随机的函数, round()---四舍五入,ceil()—向上取整, floor()---向下取整,abs()—绝对值, sqrt()—开方, pow()—求某个数的次方,
d. 有关函数的函数:
function_exists(), 判断一个函数是否定义了 参数是函数的名字
func_get_arg(), 获得一个函数的参数,参数是传递的参数顺序
func_get_args(), 获取函数所有的参数
func_num_args() 获取函数参数的个数
5.文件包含
Include ----引入文件,同一个文件可以多次引入
include_once ---引入文件,同一个文件只引入一次
require ----引入文件,同一个文件可以多次引
require_once---引入文件,同一个文件只引入一次
当引入一个不存在的文件include ---会继续执行后续的代码,require报一个严重性的错代码不再执行
一般引入文件会使用include。
注意:引入文件的时候相对路径和绝对路径 都可以使用;