变量
1,PHP变量的定义和使用
字母 下划线 开头 ^[a-zA-Z_]\w*
2,PHP变量的作用域
局部作用域:在函数内部定义的变量,就是局部范围的变量,只能在函数内部起作用
全局作用域: 全局变量是定义在所有函数以外的变量,其作用域是整个php文件,但是在用户自定义的函数内部是无法使用的。
如果一定要在用户自定义的函数内部使用全局变量,那么就需要使用global关键字声明。也就是说如果在函数内的变量前加上golbal来修饰,那么函数内部就可以访问到这个全局变量,不仅可以利用这个全局变量进行运算而且可以对这个全局变量进行重新赋值。
3,变量的赋值(值传递;引用传递)
值传递:在函数内部修改了参数的值,不会影响函数外面的值
引用传递:在函数内部修改了参数的值,也会影响函数外面的值
4,超全局变量(预定义的变量)
① $GLOBALS 保存全局变量
② $_SERVER 保存服务器信息
③ $_GET 保存get数据
④ $_POST 保存post数据
⑤ $_FILES 保存提交的文件
⑥ $_COOKIE 保存得到的cookie
⑦ $_SESSION 保存session数据
⑧ $_REQUEST 保存请求数据
⑨ $_ENV 保存环境
常量
常量的定义:define()函数可以定义常量
defined()判断某个常量是否被定义了
特点:
(1)常量的定义不用使用$
(2)常量不用理会作用域,可以在任何地方使用
(3)常量一旦被定义,不能被重新赋值
魔术常量(7个):
__FILE__ 获得当前文件的绝对路径和文件名
__LINE__ 文件当前的行号
控制结构
1,return;
(1)函数中使用return,立即停止函数的执行,将函数的值返回;
(2)在php脚本中使用,停止脚本文件代码的执行
2,require_once()
和require()作用一样,都是引入外部文件,区别在于 require_once(),如果该文件已经被包含,则不会再次包含,避免函数重定义和变量的重新赋值
Require() 可以加载多次
3,include()和require()的区别在于,include()重复包含文件时,产生警告级别的错误;require()产生致命错误
Php的数据类型
php支持8种原始数据类型。
包括:
四种标量类型(布尔型boolean,整型integer,浮点型float/double , 字符串string)
两种复合类型(数组array , 对象object)
两种特殊类型(资源resource,NULL)
字符串
1,字符串的定义
单引号 单引号会将内容原封不动的输出----执行速度快
双引号 (比较) 双引号会解析变量----执行速度慢
2,常用的字符串函数(重点)
查找:
strpos(haystack,needle);查找字符串首次出现的位置
strrchr() 从字符串最后一次出现的位置开始,返回子字符串
替换
trim()去掉字符串首尾空白字
str_replace(查找的字符串,替换的字符串,在哪个字符串中查找);
substr_replace()把字符串的一部分替换成另一个字符串
substr(string,start,length);返回字符串的子串
比较
strcasecmp()以不区分大小写的方式比较字符串,返回0表示字符串相等
将字符串全部转化为小写 strtolower($str1);
将字符串全部转化为大写 strtoupper($str2);
拆分
explode将字符串根据某个定界符分割成一个数组
implode()通过一个字符串使数组元素连接成一个字符串
3,正则表达式匹配
preg_match() 进行正则表达式匹配
preg_replace(正则表达式,替换的结果,查找的字符串)
按照正则表达式匹配的结果进行替换
4,案例(截取中文)
$str="2013年4月20日雅安发生了7.0级地震,党中央高度重视";
//$str1=explode(',',$str);
//echo $str1[0]."…";
echo preg_replace('/2013年4月20日雅安发生了7.0级地震/','...',$str);
数组
1,数组的定义 array() 或 []
2,遍历数组(重点)
(1)使用for()遍历数组,适合下标从0开始,连续的整型索引数组
(2)foreach()遍历数组
3,数组指针
(1)current()获得当前数组指针指向的数组元素
(2)next() 将数组的指针指向下一个
(3)prev() 将数组的指针向前移动一个
(4)reset() 重置数组指针
(5)end() 将数组指针移动到最后
4,常用的数组函数
array_push() 入栈,讲一个或多个元素压入数组的末尾
array_pop() 出栈,将数组最后一个元素弹出
array_shift() 将数组开头的元素移出
array_unshift() 在数组开头插入一个元素
5,数组排序
sort() 删除数组原有的键名
rsort() 对数组逆向排序,删除数组原有的键名
asort() 对数组正向排序,不会删除数组原有的键名
ksort() 对数组按照键名排序