一、文本
在PHP的世界里,字符串是字节序列,不是字符序列,记住这一点,非常重要~
比如划重点,我们在SQL注入、XSS注入里面都能看到宽字节注入
- ailx10:【前端黑客】XSS入门
- ailx10:【Web-南邮CTF】Web-CTF入门第6天
1、定义文本字符串
- 普通的字符串,是单(双)引号内的文本
- 单引号本身是定界符,内部只有
和
'
需要特殊处理 - 需要注意转义字符
- 需要注意单引号和双引号的区别
- 双引号字符串中变量名会被替换成变量的值
- 如果想合并两个字符串,可以用
.
运算符
2、处理文本
PHP为字符串提供了非常多的内置函数,考试中常见的有2个
- 验证字符串
- 格式化字符串
验证字符串:顾名思义,就是验证输入是否规范,比如输入的是不是手机号
- trim 函数把字符串首尾的空白去除
- strlen 函数计算字符串的长度
- == 运算符比较两个字符串是否相等(区分大小写)
- strcasecmp 函数忽略字符串的大小写,相等返回0
格式化字符串:顾名思义,就是归整字符串,比如左对齐,右对齐
- printf 函数相比print 函数,具有控制输出格式的功能
- 字符串格式规则以 % 开头,后面跟几个修饰符
- %05d 表示长度为5,不够补0
- %-s 表示字符串右对齐
- %.2f 表示保留2位小数
另外需要掌握的是
- strtolower 生成字符串的全小写
- strtoupper 生成字符串的全大写
- ucwords 把字符串中各个单词的首字母变成大写
- substr 提取字符串中的部分文本,有3个参数
- str_replace 修改字符串的一部分内容,自动化测试中经常使用哦~
二、数字
最常见的问题,就是比较两个浮点数是否相等,曾经难倒一片大憨憨~
- + 加法运算符
- - 减法运算符
- * 乘法运算符
- / 除法运算符
- ** 求幂(和Python有点像)
- % 求模(高深一点的就是模逆,密码学用的比较多)
三、变量
1、变量的定义
- 在PHP中变量以
$
开头,后跟变量名 - 变量名只能是A-Z和a-z、数字0-9、下划线
- 如果编码是UTF-8,那么变量名可以是中文
- 变量名区分大小写
- 变量名不能是数字开头
- 变量名不能带有
-
字符 - 变量名不能带有
@
字符 - 变量名不能带有
!
字符 - 变量名不能带有
+
字符
2、操作变量
- 搞懂 i++ 和 ++i的区别,很多学生犯糊涂
- 比如初始 i=j=0
- j = i++ 是后加,所以 j=0(i=1)
- j=++i 是先加,所以 j=1(i=1)
本篇完,谢谢大家~