php函数知识点积累
0x01前言
做一期函数的知识点积累,方便忘记的时候查阅
0x02正文
phpinfo()函数
phpinfo()
是一个 PHP 函数,用于输出当前 PHP 环境的详细信息。这包括 PHP 的版本、已加载的扩展、配置信息、服务器信息、环境变量、已定义的常量等。使用 phpinfo()
可以帮助开发者和系统管理员快速了解服务器的 PHP 配置。
eval()函数
在 PHP 中,eval()
函数用于将字符串作为 PHP 代码执行。它可以动态地执行代码
基础语法
1 | eval(string $code): mixed |
$code
:要执行的 PHP 代码字符串。- 返回值:如果代码包含返回语句,将返回返回值;如果没有返回值,将返回
null
。
示例
1 |
|
file_get_contents()函数
file_get_contents()
是 PHP 中用于读取文件内容的函数。它可以用于从文件系统、URL、流或数据中读取文件内容,并将其作为字符串返回。
基础语法
1 | string file_get_contents ( string $filename [, bool $use_include_path = FALSE [, resource $context [, int $offset = -1 [, int $maxlen ]]]] ) |
$filename
: 必需,要读取的文件名或 URL。$use_include_path
: 可选,如果设置为 TRUE,则在 include_path 中搜索文件。默认为 FALSE。$context
: 可选,用于指定上下文的选项和参数。$offset
: 可选,从文件的哪个位置开始读取。默认为 -1,表示从文件开头开始读取。$maxlen
: 可选,指定最大读取的字节数。默认为读取整个文件。
返回值
- 如果成功,
file_get_contents()
函数会返回文件内容的字符串。 - 如果失败,
file_get_contents()
函数会返回 FALSE。
示例
1 | // 读取本地文件内容 |
array_merge()函数
array_merge()
是 PHP 中用于合并一个或多个数组的函数。它将多个数组合并为一个数组,如果数组中有相同的字符串键名,后面的数组的值将覆盖前面的数组的值。如果数组中有数字键名,array_merge()
将重新排列这些键名,使得结果数组的键名从零开始递增。
基础语法
1 | array array_merge ( array ...$arrays ) |
$arrays
: 一个或多个要合并的数组。
返回值
- 返回合并后的数组。如果没有提供数组,则返回一个空数组。
示例
1 | $array1 = array("a" => "apple", "b" => "banana"); |
show_source()函数
show_source()
是 PHP 中的一个函数,用于输出指定文件的源代码,并在浏览器中高亮显示。
基础语法
1 | void show_source ( string $filename [, int $highlight = 1 ] ) |
- $filename: 必需,指定要显示源代码的文件名(可以是 PHP 文件或其他文本文件)。
- $highlight: 可选,默认值为 1。如果设置为 1,PHP 将高亮显示源代码;如果设置为 0,则不进行高亮显示。
示例
1 | // 显示当前文件的源代码 |
返回值
show_source()
函数没有返回值,它直接输出文件的内容。
preg_match()函数
preg_match()
是 PHP 中用于进行正则表达式匹配的函数。它在字符串中搜索匹配正则表达式的内容,并返回第一个匹配的结果。
基础语法
1 | int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) |
$pattern
: 必需,要搜索的模式,可以是正则表达式。$subject
: 必需,输入的字符串。$matches
: 可选,如果提供了此参数,将包含匹配结果。$flags
: 可选,用于指定匹配的选项。$offset
: 可选,从字符串的哪个位置开始搜索。
返回值
- 如果找到匹配,返回 1。
- 如果没有找到匹配,返回 0。
- 如果发生错误,返回 FALSE。
示例
1 | // 匹配一个简单的正则表达式 |
die()函数
在 PHP 中,die()
函数用于输出一条消息,并终止当前脚本的执行。与 exit()
函数是等效的,都可以用于终止脚本的执行。
基础语法
1 | void die ( string $message ) |
$message
: 可选,要输出的消息。
include()函数
在 PHP 中,include()
函数用于将指定文件的内容包含到当前脚本中并执行。
基础语法
1 | include(string $filename) |
$filename
: 必需,指定要包含的文件路径。
md5()函数
在 PHP 中,md5()
函数用于计算一个字符串的 MD5 哈希值。MD5(Message-Digest Algorithm 5)是一种广泛使用的加密哈希函数,可以生成一个128位(16字节)的哈希值,通常用32个十六进制数字表示。
基础语法
1 | string md5 ( string $str [, bool $raw_output = false ] ) |
$str
: 要计算其 MD5 哈希值的字符串。$raw_output
: 可选,若设为true
,则返回原始的二进制格式的哈希值;若为false
(默认值),则返回小写的十六进制格式的哈希值。
示例
1 | // 计算字符串的 MD5 哈希值 |
setcookie()函数
setcookie()
函数用于在客户端设置一个 Cookie,以便在用户的浏览器上存储信息。Cookie 是一种在客户端存储数据的方式,它们能够在用户访问网站时被发送到服务器,从而实现跟踪用户信息、记住用户偏好设置等功能。
基础语法
1 | setcookie(name, value, expire, path, domain, secure, httponly); |
name
: 必需,Cookie 的名称。value
: 可选,Cookie 的值。expire
: 可选,过期时间的 Unix 时间戳(秒),超过该时间 Cookie 将失效。path
: 可选,指定 Cookie 的路径,可访问该 Cookie 的目录。domain
: 可选,指定 Cookie 的域名,例如 “.example.com”。secure
: 可选,布尔值,指定是否仅通过安全的 HTTPS 连接传输 Cookie。httponly
: 可选,布尔值,指定是否仅通过 HTTP 协议访问 Cookie,JavaScript 将无法访问该 Cookie。
示例
1 | setcookie("Hash",md5($secret.$name),time()+3600000); |
strtoupper()函数
strtoupper()
函数是 PHP 中的一个字符串处理函数,用于将字符串中的小写字母转换为大写字母。
基础语法
1 | strtoupper(string $string): string |
$string
: 必需,要转换的字符串。
示例
1 | $str = "Hello, World!"; |
substr()函数
substr()
函数是 PHP 中的一个字符串处理函数,用于返回字符串的一部分。
基础语法
1 | substr(string $string, int $start, int|null $length = null): string|false |
$string
: 必需,要提取子串的原始字符串。$start
: 必需,提取子串的起始位置(索引从 0 开始)。如果是负数,则从字符串末尾开始计算。$length
: 可选,要提取的子串的长度。如果没有指定,则从起始位置提取到字符串的末尾。如果是负数,则表示从子串的末尾开始计算长度。
示例
1 | // 示例 1: 提取子串 |
ord()函数
ord()
函数是 PHP 中的一个字符串处理函数,用于返回字符串中第一个字符的 ASCII 值(对于单字节字符)或 Unicode 值(对于多字节字符)。
基础语法
1 | ord(string $string): int|false |
$string
: 必需,要获取其第一个字符 ASCII 值的字符串。该字符串必须长度为 1,即包含一个字符。
返回值
- 返回字符的 ASCII 值(对于单字节字符)或 Unicode 值(对于多字节字符)。
- 如果输入字符串为空,返回
false
。
示例
1 | // 示例 1: 获取字符的 ASCII 值 |
print_r()函数
print_r()
函数是 PHP 中用于打印变量内容的函数,通常用于调试目的。
基础语法
1 | print_r(mixed $variable, bool $return = false): void|string |
$variable
: 必需,要打印的变量。$return
: 可选,如果设置为true
,print_r()
函数将返回打印结果而不直接输出。
示例
1 | // 示例 1: 打印数组 |
explode()函数
explode()
函数是 PHP 中用于将字符串分割成数组的一个内置函数
基础语法
1 | array explode(string $delimiter, string $string[, int $limit = PHP_INT_MAX]) |
参数说明
- $delimiter:
- 字符串类型,指定用于分隔字符串的分隔符。当找到这个分隔符时,
explode()
会在该位置将字符串切割开。
- 字符串类型,指定用于分隔字符串的分隔符。当找到这个分隔符时,
- $string:
- 字符串类型,要被切割的源字符串。
- $limit (可选):
- 整数类型,限制返回的数组元素的数量。如果设置为正数,返回的数组将包含最多
$limit
个元素;如果设置为负数,返回的数组将包含所有元素,但去掉最后$limit
个元素。
- 整数类型,限制返回的数组元素的数量。如果设置为正数,返回的数组将包含最多
intval()函数
intval()
函数是 PHP 中的一个内置函数,用于将变量转换为整型。
基础语法
1 | intval(mixed $value, int $base = 10): int |
$value
: 必需,要转换的变量,可以是任何类型。$base
: 可选,表示数字的基数,默认为 10。可以设置为 2(二进制)、8(八进制)、10(十进制)或 16(十六进制)。
返回值
- 返回转换后的整型值。如果
$value
不能转换为整型,返回0
。
示例
1 | // 示例 1: 转换字符串 |
strpos()函数
在 PHP 中,strpos()
函数用于查找一个字符串在另一个字符串中首次出现的位置
基本语法:
strpos(string $haystack, string $needle, int $offset = 0): int|false
$haystack:要搜索的字符串。
$needle:要查找的字符串(或字符)。
$offset:可选的参数,指定从哪个位置开始搜索。
如果找到了字符,
strpos()
会返回字符首次出现的位置(从0
开始计数)。
highlight_file()函数
highlight_file()
函数是 PHP 中的一个内置函数,用于高亮显示指定文件的 PHP 代码。
基础语法
1 | highlight_file(string $filename, bool $return = false): string|bool |
$filename
: 必需,指定要高亮显示的文件名(包括路径)。$return
: 可选,布尔值,默认为false
。若设置为true
,函数将返回高亮后的代码,而不是直接输出。
返回值
- 如果
$return
参数为false
,函数将直接输出高亮的 HTML 代码。 - 如果
$return
参数为true
,函数将返回高亮后的代码字符串;如果发生错误(例如文件不存在),则返回false
。
示例
1 | // 示例 1: 直接输出文件高亮代码 |
rand()函数
rand()
函数是 PHP 中用于生成随机整数的内置函数。它可以生成指定范围内的随机整数,用于模拟随机性、测试和其他需要随机数的应用场景。
基础语法
1 | rand(int $min, int $max): int |
$min
: 必需,指定随机数的最小值。$max
: 必需,指定随机数的最大值。
返回值
- 返回一个介于
$min
和$max
之间的随机整数,包括$min
和$max
。
示例
1 | // 示例 1: 生成 1 到 100 之间的随机整数 |
array_push()函数
array_push()
函数用于向数组的末尾添加一个或多个元素。
基础语法
1 | array_push(array &$array, mixed $value1, mixed $value2, ...): int |
$array
: 必需,要添加元素的目标数组。$value1
,$value2
, …: 可选,要添加到数组末尾的一个或多个元素。
返回值
- 返回添加新元素后数组的新长度。
示例
1 | // 示例 1: 向数组末尾添加单个元素 |
in_array() 函数
in_array()
函数是 PHP 中用于检查一个值是否存在于数组中的内置函数。
基础语法
1 | in_array(mixed $needle, array $haystack, bool $strict = false): bool |
$needle
: 必需,待检查的值。$haystack
: 必需,要搜索的数组。$strict
: 可选,布尔值,默认为false
。如果设置为true
,则在比较时将进行类型比较(即不仅值相等,而且类型也要相同)。
返回值
- 如果
$needle
在$haystack
中存在,返回true
;否则返回false
。
示例
1 | // 示例 1: 检查元素是否在数组中 |
file_put_contents()函数
file_put_contents()
是一个用于将数据写入文件的 PHP 函数。
基础语法
1 | file_put_contents($filename, $data, $flags, $context); |
参数含义:
$filename
:要写入数据的文件名。$data
:要写入文件的数据,可以是字符串、数组或者流。$flags
:可选参数,用于指定写入文件的标志。例如,FILE_APPEND
表示追加而不是覆盖。$context
:可选参数,包含指向流资源的上下文,通常用于改变流的行为。
示例
1 | $data = "Hello, World!"; |
is_numeric()函数
is_numeric()
是一个 PHP 函数,用于检查一个变量是否是一个数字或数字字符串。它的主要作用是判断给定的变量是否是数字或数字字符串,返回布尔值 true 或 false。
示例用法
1 |
|
call_user_func()函数
call_user_func()
是一个 PHP 函数,用于调用回调函数。它的作用是动态地调用一个回调函数,并传入指定的参数。
基础语法
1 | call_user_func($callback [, $parameter1 [, $parameter2, ...]]); |
$callback
:回调函数,可以是一个包含函数名的字符串,或者是一个包含对象和方法名的数组。$parameter1
,$parameter2
, …:要传递给回调函数的参数,可以有多个参数。
示例
1 | function sayHello($name) { |
在这个示例中,sayHello()
函数接受一个参数 $name
,然后通过 call_user_func()
函数动态地调用 sayHello()
函数,并传递参数 'Alice'
,最终输出 Hello, Alice!
。
hex2bin()函数
hex2bin()
是一个 PHP 函数,用于将十六进制字符串转换为二进制字符串。它的作用是将表示十六进制数据的字符串转换为其对应的二进制数据。
基础语法
1 | hex2bin($hex_string); |
$hex_string
:要转换的十六进制字符串。
示例
1 | $hex_string = '48656c6c6f20576f726c64'; // 十六进制字符串 "Hello World" |
sha1()函数
sha1()
是一个PHP函数,用于计算字符串的 SHA-1 哈希值。
基础语法
1 | sha1($str, $raw_output = false); |
$str
:要计算哈希值的字符串。$raw_output
:可选参数,设置为 true 时返回长度为20字节的原始二进制数据,设置为 false(默认)时返回长度为40字符的十六进制数据。
示例
1 | $str = 'Hello, World!'; |
foreach()函数
foreach()
是 PHP 中用于遍历数组或对象的循环结构。它提供了一种简洁且方便的方式来遍历集合中的每个元素,并执行相应的操作。
基础语法
1 | foreach ($array as $value) { |
示例用法
1 | $fruits = array('apple', 'banana', 'cherry'); |
parse_str()函数
在 PHP 中,parse_str()
是一个用于解析查询字符串并将其转换为变量数组的函数
parse_str()函数的基本语法
1 | parse_str(string $string, array &$array = null): void |
- **
$string
**:要解析的查询字符串。 - **
$array
**(可选):如果提供,则解析后的变量会被存储在这个数组中。否则,解析后的变量会直接导入到当前的符号表(即可以直接使用变量名)。
strrev()函数
strrev()
是 PHP 中的一个字符串函数,用于将字符串进行反转操作,即将字符串中的字符顺序逆转。
基础语法
1 | strrev($string); |
$string
:要进行反转操作的字符串。
示例用法
1 | $str = 'Hello, World!'; |
getcwd()函数
getcwd()
函数是PHP中的一个内置函数,用于获取当前工作目录的路径。
语法:
1 | string getcwd(void**) |
具体用法:
1 | $currentDir = getcwd(); |
is_file()函数
is_file()函数用于判断给定的路径是否是一个文件,如果是则返回
true,否则返回
false
基础语法
1 | is_file($path); |
$path
:要检测的文件路径。
示例用法
1 | $file_path = 'example.txt'; |
在这个示例中,is_file()
函数用于检查名为 example.txt
的文件是否存在,然后根据返回值输出相应的信息。
str_replace()函数
str_replace()
是 PHP 中的一个字符串替换函数,用于在一个字符串中将指定的子字符串替换为另一个子字符串
基本语法:
1 | str_replace($search, $replace, $subject, $count); |
参数说明:
$search
:要查找和替换的子字符串,可以是一个字符串或字符串数组。$replace
:用于替换的字符串或字符串数组,可以与$search
长度相同,也可以是一个字符串。$subject
:要进行替换操作的字符串或字符串数组。$count
(可选):用于接收替换的次数。
示例
1 | $str = "Hello, World!"; |
trim()函数
trim()
函数是 PHP 中用于去除字符串首尾空白字符的函数
基础语法
1 | trim($str, $charlist) |
参数说明:
$str
:要处理的字符串。$charlist
(可选):指定要删除的字符列表。如果未指定该参数,trim() 将去除这些字符:“ “ (ASCII 32 (0x20)),普通空格符。
“\t” (ASCII 9 (0x09)),制表符。
“\n” (ASCII 10 (0x0A)),换行符。
“\r” (ASCII 13 (0x0D)),回车符。
“\0” (ASCII 0 (0x00)),空字节符。(空字符) %0c也相当于空字符
“\x0B” (ASCII 11 (0x0B)),垂直制表符
trim()
函数执行以下操作:
- 删除
$str
字符串开头和结尾的空白字符或指定的字符列表。 - 返回处理后的字符串。
get_defined_vars()函数
get_defined_vars()
是 PHP 的一个内置函数,它用于返回当前作用域中所有已定义变量的关联数组,这个函数非常有用,特别是在调试过程中,因为它可以让开发者查看当前作用域内的所有变量及其值。
基础用法
1 | get_defined_vars() 函数没有参数,直接调用即可。 |
返回值
get_defined_vars()
返回一个关联数组,数组的键是变量名,值是对应的变量值。
stripos()函数
stripos()
是 PHP 的一个内置函数,用于在一个字符串中查找另一个字符串的首次出现位置,比较时不区分大小写
基础语法
1 | int stripos(string $haystack, string $needle, int $offset = 0) |
参数
$haystack: 要搜索的目标字符串。
$needle: 要查找的子字符串。
$offset: 可选参数,指定从哪个位置开始搜索。默认值是 0。
返回值
- 如果找到
$needle
,则返回$needle
在$haystack
中首次出现的位置(以 0 为起始索引)。 - 如果未找到,返回
FALSE
。
readfile()函数
readfile()
是 PHP 的一个内置函数,用于读取文件并将其内容发送到输出缓冲区
基础语法
1 | int readfile(string $filename, bool $use_include_path = false, resource $context = null) |
参数
- $filename: 要读取的文件的路径(可以是相对路径或绝对路径)。
- $use_include_path: 可选参数,表示是否在包括路径中查找文件。默认为
false
。 - $context: 可选参数,指定一个上下文资源,用于修改文件的读取行为(例如,设置流选项)。
返回值
- 返回读取的字节数,或者在出错时返回
false
。
mt_rand()函数
mt_rand()
是 PHP 中的一个随机数生成函数,用于生成伪随机整数。
函数语法:
1 | int mt_rand(int $min = 0, int $max = MT_RAND_MAX); |
参数说明
$min
: (可选)生成的随机数的最小值,默认为0
。$max
: (可选)生成的随机数的最大值,默认为MT_RAND_MAX
,通常是2147483647
(即 PHP 中mt_rand
的最大返回值)。
返回值
- 返回一个介于
$min
和$max
之间的伪随机整数(包括$min
和$max
)。
mt_srand()函数
mt_srand()
是 PHP 中用于设置 Mersenne Twister 随机数生成器的种子(seed)的函数。
基础语法
1 | void mt_srand(int $seed = 0) |
参数
$seed
(可选):指定一个整数作为随机数生成器的种子。如果不提供,默认为 0。使用相同的种子值将导致后续生成相同的随机数序列。
返回值
mt_srand()
没有返回值,它仅仅是设置了随机数生成器的种子。
exec()函数
exec()
是 PHP 中用于执行外部命令或程序的函数。
基础语法
1 | exec(command, output, return_var); |
command
:要执行的外部命令。output
:用于存储命令输出的数组(可选)。return_var
:用于存储命令执行返回的状态码(可选)。
strripos()函数
strripos()
是 PHP 中的一个函数,用于查找字符串在另一个字符串中最后一次出现的位置(不区分大小写)。
基础语法
1 | strripos($haystack, $needle, $offset); |
$haystack
:要在其中查找的字符串。$needle
:要查找的子字符串。$offset
(可选):可选参数,指定从哪个位置开始搜索。
返回值
返回字符串最后一次出现的位置的索引,如果未找到则返回 false
。
示例
1 | $string = 'Hello, World! This is a PHP example.'; |
sleep()函数
sleep()
是 PHP 中用于让脚本暂停执行一定时间的函数
基础语法
1 | sleep(seconds); |
seconds
:要暂停的秒数,可以是整数或浮点数。
示例用法
1 | echo "Start time: " . date('H:i:s') . "<br>"; |
create_funtion()函数
在 PHP 中,create_function()
函数用于创建一个匿名函数(Anonymous functions)。
基础语法
1 | create_function($args, $code); |
$args
:是一个逗号分隔的参数列表,如'arg1, arg2, ...'
。$code
:是一个包含函数主体代码的字符串。
示例
1 | $myFunction = create_function('$a, $b', 'return $a + $b;'); |