PHP常用内置函数集合

substr 截取字符串

substr() 函数返回字符串的一部分。

注释:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。

//从第2位开始,取8位
echo substr("Hello world",1,8)."<br>";
//从第5位开始,直到末尾
echo substr("Hello world",5)."<br>";
//从末尾开始去3位
echo substr("Hello world",-3)."<br>";

strpos 第一次出现的位置(区分大小写)

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

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

//查找 "php" 在字符串中第一次出现的位置:
echo strpos("I love php, I love php too!","php");

stripos 第一次出现的位置(不区分大小写)

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

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

//查找 "php" 在字符串中第一次出现的位置:
echo stripos("I love php, I love php too!","PHP");

strripos 最后一次出现的位置(不区分大小写)

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

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

//查找 "php" 在字符串中最后一次出现的位置:
echo strrpos("I love php, I love php too!","php");

strrpos 最后一次出现的位置(区分大小写)


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

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

//查找 "php" 在字符串中最后一次出现的位置:
echo strrpos("I love php, I love php too!","php");

uniqid 生成唯一ID

echo uniqid(), '<hr>';
echo uniqid('re'), '<hr>';
echo md5(uniqid(microtime() . mt_rand()));

implode 使用一个字符串将数组变成字符串

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
 
echo $comma_separated;

explode  使用一个字符分割另一个字符串,返回一个数组

$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);

echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

strtoupper 转换成大写

strtolower 转换成小写

strrev 字符串反转

strlen 字符串长度

mb_strlen 汉字长度

str_shuffle 打乱字符串

str_replace 字符串替换

//把字符串 "Hello world!" 中的字符 "world" 替换成 "Peter":
echo str_replace("world","Peter","Hello world!");


mt_rand 获取随机数

mt_rand(1000, 9999)

md5 32位加密

时间函数

//设置时区
date_default_timezone_set('Asia/Shanghai');
echo '默认时区是:', date_default_timezone_get(), '<hr>';
echo '时间戳:', time(), '<hr>';
//2018年10月12日15:03:36
echo '当前时间:', date('Y年m月d日H:i:s'), '<hr>';
echo microtime(false), '<hr>';
echo microtime(true), '<hr>';
//输出前天的现在的时间
echo '前天的现在是:', date('Y-m-d H:i:s', time() - 2 * 86400), '<hr>';
echo '前天的时间戳是(通过减法):', (time() - 2 * 86400), '<hr>';
echo '前天的时间戳是(通过strtotime):', strtotime('-2 days'), '<hr>';
echo '1个月1天之前的时间戳是:', strtotime('-1 month -1 day'), '<hr>';

数学函数

//求余
echo 6 % 2, '<hr>';
//幂运算
//语法:number pow(number base,number exp)
echo 'pow(2,3)的结果是:', pow(2, 3), '<hr>';
//求平方根
//语法:float sqrt(float arg)
echo 'sqrt(4)的结果是:', sqrt(4), '<hr>';
echo 'sqrt(2)的结果是:', sqrt(2), '<hr>';
echo 'sqrt(3)的结果是:', sqrt(3), '<hr>';
//向上取整(分页)
//语法:float ceil ( float $value )
echo 'ceil(3.002)的结果是:', ceil(3.002), '<hr>';
echo 'ceil(3.000)的结果是:', ceil(3.000), '<hr>';
echo '<span style="color:red;">假设总记录数为103条,每页显示10条,那么总页数就是:', ceil(103 / 10), '页</span><hr>';
//向下取整
//语法:float floor ( float $value )
echo 'floor(7.9999)的结果是:', floor(7.9999), '<hr>';
echo 'floor(7.0000)的结果是:', floor(7.0000), '<hr>';
//随机数
//语法:int rand(int min,int max)
echo 'rand(10,99)的结果是:', rand(10, 99), '<hr>';
//更好的随机数
//语法:int mt_rand ( int $min , int $max )
echo 'mt_rand(1000,9999)的结果是:', mt_rand(1000, 9999), '<hr>';
//四舍五入
//语法:float round ( float $val [, int $precision = 0 ])
echo 'round(3.49)的结果是:', round(3.49), '<hr>';
echo 'round(3.50)的结果是:', round(3.50), '<hr>';
echo 'round(3.372,1)的结果是:', round(3.372, 1), '<hr>';
echo 'round(3.372,2)的结果是:', round(3.372, 2), '<hr>';
//千位格式化
echo 'number_format(10000)的结果是:', number_format(10000), '<hr>';
echo 'number_format(10000.726)的结果是:', number_format(10000.726), '<hr>';
echo 'number_format(10000.726,1)的结果是:', number_format(10000.726, 1), '<hr>';


有问题请联系作者QQ:4505399(备注:vb盒子)
« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。