PHP特殊类型函数



运算符描述名称实例
x == y如果 x 等于 y,则返回 true等于5==8 返回 false
x === y如果 x 等于 y,且它们类型相同,则返回 true绝对等于5==="5" 返回 false
x = yx = y左操作数被设置为右侧表达式的值x=1


= 赋值

==弱类型对比    

===类型也对比

image-20231123233951196.png


MD5函数

md5() 函数不能处理数组,数组都返回 null,md5(a[]) 结果为 null

语法

md5(string,raw)
参数描述
string必需。规定要计算的字符串。
raw可选。规定十六进制或二进制输出格式:
  • TRUE - 原始 16 字符二进制格式

  • FALSE - 默认。32 字符十六进制数

image-20231123234122935.png


intval()函数

intval() 函数用于获取变量的整数值。

intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

PHP 4, PHP 5, PHP 7

语法

int intval ( mixed $var [, int $base = 10 ] )

参数说明:

  • $var:要转换成 integer 的数量值。

  • $base:转化所使用的进制。

如果 base 是 0,通过检测 var 的格式来决定使用的进制:

  • 如果字符串包括了 "0x" (或 "0X") 的前缀,使用 16 进制 (hex);否则,

  • 如果字符串以 "0" 开始,使用 8 进制(octal);否则,

  • 将使用 10 进制 (decimal)。

返回值

成功时返回 var 的 integer 值,失败时返回 0。 空的 array 返回 0,非空的 array 返回 1。

最大的值取决于操作系统。 32 位系统最大带符号的 integer 范围是 -2147483648 到 2147483647。举例,在这样的系统上, intval('1000000000000') 会返回 2147483647。64 位系统上,最大带符号的 integer 值是 9223372036854775807。

字符串有可能返回 0,虽然取决于字符串最左侧的字符。


image-20231123230207430.png




strpos()函数

定义和用法

strpos() f函数查找字符串在另一字符串中第一次出现的位置(区分大小写)。

注释:strpos() 函数是区分大小写的。

注释:该函数是二进制安全的。

相关函数:

  • strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)

  • stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)

  • strripos() -查找字符串在另一字符串中最后一次出现的位置(不区分大小写)

语法

strpos(string,find,start)


参数描述
string必需。规定被搜索的字符串。
find

必需。规定要查找的字符。

start可选。规定开始搜索的位置。


image-20231123230614155.png


图片.png

image-20231123231023351.png

preg_match() 函数

preg_match 函数用于执行一个正则表达式匹配。

语法

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

搜索 subject 与 pattern 给定的正则表达式的一个匹配。

参数说明:

  • $pattern: 要搜索的模式,字符串形式。

  • $subject: 输入字符串。

  • $matches: 如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。

  • $flags:flags 可以被设置为以下标记值:

    1. PREG_OFFSET_CAPTURE: 如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的)。 注意:这会改变填充到matches参数的数组,使其每个元素成为一个由 第0个元素是匹配到的字符串,第1个元素是该匹配字符串 在目标字符串subject中的偏移量。

  • offset: 通常,搜索从目标字符串的开始位置开始。可选参数 offset 用于 指定从目标字符串的某个未知开始搜索(单位是字节)。

返回值

返回 pattern 的匹配次数。 它的值将是 0 次(不匹配)或 1 次,因为 preg_match() 在第一次匹配后 将会停止搜索。preg_match_all() 不同于此,它会一直搜索subject 直到到达结尾。 如果发生错误preg_match()返回 FALSE。


image-20231123231207665.png

正则表达式

在这里插入图片描述

在这里插入图片描述


str_replace函数

定义和用法

str_replace() 函数替换字符串中的一些字符(区分大小写)。

该函数必须遵循下列规则:

  • 如果搜索的字符串是一个数组,那么它将返回一个数组。

  • 如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。

  • 如果同时需要对某个数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。

  • 如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。

注释:该函数是区分大小写的。请使用 str_ireplace() 函数执行不区分大小写的搜索。

注释:该函数是二进制安全的。


语法

str_replace(find,replace,string,count)


参数描述
find必需。规定要查找的值。
replace必需。规定替换 find 中的值的值。
string必需。规定被搜索的字符串。
count可选。一个变量,对替换数进行计数。


简单的SQL过滤 无法迭代循环

image-20231123231543693.png



未授权访问

判断用户的身份

由于后台本身有多个功能文件代码页面

1.在每个文件里面添加判断代码

2.创建一个文件专门用来判断,其他文件包含调用它


找未授权访问

1.找那些文件没有包含验证代码文件

2.验证代码文件有没有可以绕过


分享:

支付宝

微信