本文目录一览:
10 个经典PHP函数
1.
sys_getloadavg()
sys_getloadavt()可以获得系
统负载情况。该函数返回一个包含三个元素的数组,每个元素分别代表系统再过去的1、5和15分钟内的平均负载。
与其让服务器因负
载过高而宕掉,不如在系统负载很高时主动die掉一个脚本,sys_getloadavg()就是用来帮你实现这个功能的。
不过很遗憾,该函数在windows下无效。
2.
pack()
Pack()
能将md5()返回的32位16进制字符串转换为16位的二进制字符串,可以节省存储空间。
3.
cal_days_in_month()
cal_days_in_month()能够返回指定月份共有多少天。
4.
_()
WordPress开发者经常能见到这个函数,还有
_e()。这两个函数功能相同,与gettext()函数结合使用,能实现网站的多语言化。具体可参见PHP手册的相关部分介绍。
5.
get_browser()
在发送页面前先看看用户的浏览器都能做些什么是
不是挺好?get_browser()能获得用户的浏览器类型,以及浏览器支持的功能,不过首先你需要一个php_browscap.ini文件,用来给
函数做参考文件。
要注意,该函数对浏览器功能的判断是基于该类浏览器的一般特性的。例如,如果用户关闭了浏览器对
JavaScript的支持,函数无法得知这一点。但是在判断浏览器类型和OS平台方面,该函数还是很准确的。
6.
debug_print_backtrace()
这是一个调试用的函数,能帮助你发现代码中的逻辑错误。要理
解这个函数,还是直接看个例子吧:
$a
=
0;
function
iterate()
{
global
$a;
if(
$a
10
)
recur();
echo
$a
.
“,
“;
}
function
recur()
{
global
$a;
$a++;
//
how
did
I
get
here?
echo
“\n\n\n”;
debug_print_backtrace();
if(
$a
10
)
iterate();
}
iterate();
#
OUTPUT:
#0
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#1
iterate()
called
at
[C:\htdocs\php_stuff\index.php:25]
#0
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#1
iterate()
called
at
[C:\htdocs\php_stuff\index.php:21]
#2
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#3
iterate()
called
at
[C:\htdocs\php_stuff\index.php:25]
#0
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#1
iterate()
called
at
[C:\htdocs\php_stuff\index.php:21]
#2
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#3
iterate()
called
at
[C:\htdocs\php_stuff\index.php:21]
#4
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#5
iterate()
called
at
[C:\htdocs\php_stuff\index.php:25]
7.
metaphone()
这个函数返回单词的metaphone值,相同读音的单词具有相同的metaphone值,也就是说这个函数可以帮你判断两个单词的读音是否
相同。不过对中文就无效了。。。
8.
natsort()
natsort()能将一个数组以自然排序法
进行排列,直接看个例子吧:
$items
=
array(
“100
apples”,
“5
apples”,
“110
apples”,
“55
apples”
);
//
normal
sorting:
sort($items);
print_r($items);
#
Outputs:
#
Array
#
(
#
[0]
=
100
apples
#
[1]
=
110
apples
#
[2]
=
5
apples
#
[3]
=
55
apples
#
)
natsort($items);
print_r($items);
#
Outputs:
#
Array
#
(
#
[2]
=
5
apples
#
[3]
=
55
apples
#
[0]
=
100
apples
#
[1]
=
110
apples
#
)
9.
levenshtein()
Levenshtein()
告诉你两个单词之间的“距离”。它告诉你如果想把一个单词变成另一个单词,需要插入、替换和删除多少字母。
看个例子吧:
$dictionary
=
array(
“php”,
“javascript”,
“css”
);
$word
=
“japhp”;
$best_match
=
$dictionary[0];
$match_value
=
levenshtein($dictionary[0],
$word);
foreach($dictionary
as
$w)
{
$value
=
levenshtein($word,
$w);
if(
$value
$match_value
)
{
$best_match
=
$w;
$match_value
=
$value;
}
}
echo
“Did
you
mean
the
‘$best_match'
category?”;
10.
glob()
glob()会让你觉得用
opendir(),
readdir()和closedir()来寻找文件非常蠢。
foreach
(glob(“*.php”)
as
$file)
echo
“$file\n”;
php_uname()函数详解
php_uname — 返回运行 PHP 的系统的有关信息。
语法: php_uname ([$mode])
php_uname() 函数会返回运行 php 的操作系统的相关描述,和 phpinfo() 最顶端上输出的是同一个字符串。 如果仅仅要获取操作系统的名称。可以考虑使用常量 PHP_OS ,不过要注意该常量会包含 PHP 构建 (built) 时的操作系统名。
PHP-bc函数及其应用详解
bcadd —— 两个任意精度数字的加法计算 (PHP 4, PHP 5, PHP 7, PHP 8)
bcadd ( string $num1 , string $num2 , ?int $scale = null ): string
注:对 num1 和 num2 求和。
参数:
num1 — 左操作数,字符串类型。
num2 — 右操作数,字符串类型。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。
返回值: 以字符串返回两个操作数求和之后的结果。
范例:
bcsub —— 两个任意精度数字的减法 (PHP 4, PHP 5, PHP 7, PHP 8)
bcsub ( string $num1 , string $num2 , ?int $scale = null ): string
注: num1 减去 num2 。
参数:
num1 — 左操作数,字符串类型。
num2 — 右操作数,字符串类型。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。
返回值: 以 string 类型返回减法之后的结果。
范例:
bcmul —— 两个任意精度数字乘法计算 (PHP 4, PHP 5, PHP 7, PHP 8)
bcmul ( string $num1 , string $num2 , ?int $scale = null ): string
注: num1 乘以 num2 。
参数:
num1 — 左操作数,字符串类型。
num2 — 右操作数,字符串类型。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。
返回值: 以 string 类型返回减法之后的结果。
范例:
bcp —— 两个任意精度的数字除法计算 (PHP 4, PHP 5, PHP 7, PHP 8)
bcp ( string $num1 , string $num2 , ?int $scale = null ): string
注: num1 除以 num2 。
参数:
num1 — 左操作数,字符串类型。
num2 — 右操作数,字符串类型。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。 现在 scale 可以为 null。
返回值: 以 string 类型返回减法之后的结果。
范例:
bccomp —— 比较两个任意精度的数字 (PHP 4, PHP 5, PHP 7, PHP 8)
bccomp ( string $num1 , string $num2 , ?int $scale = null ): int
注: 比较 num1 和 num2 , 并且返回整型数字的结果。
参数:
num1 — 左边的运算数,是一个字符串。
num2 — 右边的运算数,是一个字符串。
scale — 可选的 scale 参数被用作设置指示数字, 在使用来作比较的小数点部分。
返回值: 两个数相等时返回 0; num1 比 num2 小时返回 -1; 其他则返回 1。现在 scale 可以为 null。
范例:
bcmod —— 任意精度数字取模 (PHP 4, PHP 5, PHP 7, PHP 8)
bcmod ( string $num1 , string $num2 , ?int $scale = null ): string
注: 对 num1 使用 num2 取模。 除非 num2 是零,否则结果必定和 num1 有相同的符号。
参数:
num1 — string 类型的被除数。
num2 — string 类型的除数。
scale — 现在 scale 可以为 null。
返回值: 返回字符串类型取模后的结果,如果 num2 为 0 则返回 null。
范例:
bcpow—— 任意精度数字的乘方 (PHP 4, PHP 5, PHP 7, PHP 8)
bcpow ( string $num , string $exponent , ?int $scale = null ): string
注: num 的 exponent 次方运算。
参数:
num — string 类型的底数。
exponent — string 类型的指数。 如果指数不是整数,将被截断。 指数的有效范围取决于平台,但起码支持 -2147483648 到 2147483647 的范围。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。
返回值: 返回字符串类型的结果。
范例:
bcpowmod —— 先取次方然后 取模 。 (PHP 5, PHP 7, PHP 8)
bcpowmod ( string $num , string $exponent , string $modulus , ?int $scale = null ): string
注: 先取次方然后取模。
参数:
base — 左操作数。它是一个字符串类型的参数。
exponent — string 类型的指数。 指数的正确操作数。
modulus — string 类型的 参 数。 接受表示模数的操作数。
scale — 一个整数类型参数。它说明 ( base exponent %mod ) 结果中小数点后的位数。其默认值为 0。
返回值: 该函数将结果作为字符串返回。或者,如果模数为 0 或指数为负,则返回 False。
范例:
bcscale —— 设置/获取所有 bc math 函数的默认小数点保留位数 (PHP 4, PHP 5, PHP 7, PHP 8)
bcscale ( int $scale ): int
设置所有 bc math 函数在未设定情况下的小数点保留位数。
bcscale ( null $scale = null ): int
注: 获取当前的小数点保留位数。
参数:
scale — 小数点保留位数。
返回值: 设置的时候,返回之前的小数点保留位数。否则就是返回当前的位数。
范例:
bcsqrt —— 任意精度数字的二次方根 (PHP 4, PHP 5, PHP 7, PHP 8)
bcsqrt ( string $num , ?int $scale = null ): string
注: 返回 num 的二次方根。
参数:
num — string 类型的操作数 。
scale — 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0。
返回值: 以 string 类型返回二次方根的结果,如果 num 是负数则返回 null。
范例: