字符串
引号
php里面单引号和双引号是不一样的,在定义字符串的时候没有区别
但是字符串里面有变量的时候就不一样了
双引号是经过语法分析的,单引号是“所见即所得“
定界符
<<<
:用于定义一个格式化的大文本,;里面的格式化文本并不需要转义字符,文本格式将被保留
这个定界符是不支持添加注释的
其实效果就和双引号效果一样,就是用来定义大文本
- nowdoc字符串:没有单引号的单引号字符串
$str = <<<’边界符’
字符串内容
边界符;
- heredoc字符串:没哟双引号的双引号字符串
$str = <<<边界符
字符串内容
边界符;
字符串转义
\’
:在单引号字符串中显示单引号\”
:在双引号字符串中显示双引号\r
:代表回车(理论上是回到当前行的首位置)\n
:代表新一行\t
:类似tab键,输出4个空格\$
:在PHP中使用$符号作为变量符号,因此需要特定识别
注意单引号不会识别转义符号,而是直接输出
字符串长度
基本函数strlen()
:得到字符串的长度(字节为单位)
可以使用这个来判断用户提交的密码是多少位这种类型
字符串常用函数
implode(连接方式,数组)
:将数组中的元素按照某个规则连接成一个字符串explode(分割字符,目标字符串)
:将字符串按照某个格式进行分割,变成数组trim(字符串[,指定字符])
:本身默认是用来去除字符串两边的空格(中间不行),但是也可以指定要去除的内容,是按照指定的内容循环去除两边有的内容:直到碰到一个不是目标字符为止。可以选择左边和右边ltrim()
:去除左边的,rtrim()
:去除右边的substr(字符串,起始位置从0开始[,长度])
:指定位置开始截取字符串,可以截取指定长度(不指定到最后)Strstr(字符串,匹配字符)
:从指定位置开始,截取到最后(可以用来去文件后缀名)
Strpos(字符串,匹配字符)
:判断字符在目标字符串中出现的位置(首次)Strrpos(字符串,匹配字符)
:判断字符在目标字符串中最后出现的位置Str_shuffle()
:随机打乱字符串
文件包含
在一个PHP脚本中,去将另外一个文件(PHP)包含进来,去合作完成一件事情
有四种方式:
Include
:包含文件Include_once
:系统会自动判断文件包含过程中,是否已经包含过(一个文件最多被包含一次)Require
:与include相同Require_once
:以include_once相同
语法
include ‘文件路径’;
include(‘文件路径’);
以上方式:是先包含文件,后使用文件中的内容(向上包含)
向下包含:先准备内容,然后包含另外的文件,在另外的文件中,使用当前的内容
区别就是在引用的文件是用来给属性的还是用来做事的
文件加载原理
1、 在文件加载(include或者require)的时候,系统会自动的将被包含文件中的代码相当于嵌入到当前文件中
2、 加载位置:在哪加载,对应的文件中的代码嵌入的位置就是对应的include位置
3、 在PHP中被包含的文件是单独进行编译的
PHP文件在编译的过程中如果出现了语法错误,那么会失败(不会执行);但是如果被包含文件有错误的时候,系统会在执行到包含include这条语句的时候才会报错。
区别
include
和include_once
的区别:
include
系统会碰到一次,执行一次;如果对统一个文件进行多次加载,那么系统会执行多次;include_once
:系统碰到多次,也只会执行一次。
require
和include
的区别:本质都是包含文件,唯一的区别在于包含不到文件的时候,报错的形式不一样
include
的错误级别比较轻:不会阻止代码执行require
要求较高:如果包含出错代码不再执行(require后面的代码)
常用函数
输出
print()
:类似于echo输出提供的内容,本质是一种结构(不是函数),返回1,可以不需要使用括号print_r()
:类似于var_dump,但是比var_dump简单,不会输出数据的类型,只会输出值(数组打印使用比较多)
输出的区别
echo
: 输出一个或多个字符串print
: 输出简单变量的值,如int,string类型变量的print_r
: 输出比较复杂类型的值,如数组,对象
时间
date()
:按照指定格式对对应的时间戳(从1970年格林威治时间开始计算的秒数),如果没有指定特定的时间戳,那么就是默认解释当前时间戳
data('想输出的信息',[想从哪个时间戳开始])
time()
:获取当前时间对应的时间戳microtime()
:获取微秒级别的时间Strtotime()
:按照规定格式的字符串转换成时间戳
数学
max()
:指定参数中最大的值min()
:比较两个数中较小的值rand()
:得到一个随机数,指定区间的随机整数mt_rand()
:与rand一样,只是底层结构不一样,效率比rand高(建议使用)round()
:四舍五入ceil()
:向上取整floor()
:向下取整pow()
:求指定数字的指定指数次结果:pow(2,8) == 2^8abs()
:绝对值sqrt()
:求平方根
有关函数的函数
function_exists():判断指定的函数名字是否在内存中存在(帮助用户不去使用一个不存在的函数,让代码安全性更高)
func_get_arg():在自定义函数中去获取指定数值对应的参数
func_get_args():在自定义函数中获取所有的参数(数组)
func_num_args():获取当前自定义函数的参数数量