PHP实用函数集合

PHP实用函数集合,第1张

概述PHP实用函数集合 推荐:《PHP视频教程》

实用函数集合

<?PHPif (!function_exists('number_random')) {    /**     * 生成随机数字串     *     * @param int $length     * @return string     */    function number_random($length = 6)    {        $result = '';        for ($i = 0; $i < $length; $i++) {            $result .= mt_rand(0, 9);        }        return $result;    }}if (!function_exists('string_random')) {    /**     * 生成随机字符串     *     * @param int $length     * @return string     */    function string_random($length = 6)    {        $result = '';        for ($i = 0; $i < $length; $i++) {            $rand = mt_rand(1, 3);            switch ($rand) {                case 1:                    $result .= mt_rand(0, 9);                    break;                case 2:                    $result .= chr(mt_rand(65, 90));                    break;                default:                    $result .= chr(mt_rand(97, 122));                    break;            }        }        return $result;    }}if (!function_exists('get_order_number')) {    /**     * 生成订单号     *     * @param int $length     * @return string     */    function get_order_number($length = 32)    {        $date = date('YmdHis');        $micro = explode('.', microtime(true))[1];        $rand = string_random($length - (strlen($date) + strlen($micro)));        return $date . $micro . $rand;    }}if (!function_exists('check_bank_card')) {    /**     * 验证yhk号     *     * @param string $card     * @return bool     */    function check_bank_card(string $card)    {        $arr_no = str_split($card);        $last_n = $arr_no[count($arr_no) - 1];        krsort($arr_no);        $i = 1;        $total = 0;        foreach ($arr_no as $n) {            if ($i % 2 == 0) {                $ix = $n * 2;                if ($ix >= 10) {                    $nx = 1 + ($ix % 10);                    $total += $nx;                } else {                    $total += $ix;                }            } else {                $total += $n;            }            $i++;        }        $total -= $last_n;        $total *= 9;        return $last_n == ($total % 10);    }}if (!function_exists('blocking_lock')) {    /**     * 阻塞锁     *     * @param string $lock_name 锁名字     * @param int $valID 有效秒数     * @return mixed     */    function blocking_lock(string $lock_name, $valID = 3600)    {        $lock_key = 'blocking_lock';        while ($exp = Redis::hget($lock_key, $lock_name)) {            if ($exp < microtime(true)) {                Redis::hdel($lock_key, $lock_name);            }            usleep(10);        }        return Redis::hset($lock_key, $lock_name, microtime(true) + $valID);    }}if (!function_exists('blocking_unlock')) {    /**     * 释放阻塞锁     *     * @param string $lock_name     * @return mixed     */    function blocking_unlock(string $lock_name)    {        $lock_key = 'blocking_lock';        return Redis::hdel($lock_key, $lock_name);    }}if (!function_exists('random_color')) {    /**     * 随机十六进制颜色     *     * @return string     */    function random_color()    {        $str = '#';        for ($i = 0; $i < 6; $i++) {            $randNum = rand(0, 15);            switch ($randNum) {                case 10:                    $randNum = 'a';                    break;                case 11:                    $randNum = 'b';                    break;                case 12:                    $randNum = 'c';                    break;                case 13:                    $randNum = 'd';                    break;                case 14:                    $randNum = 'e';                    break;                case 15:                    $randNum = 'f';                    break;            }            $str .= $randNum;        }        return $str;    }}if (!function_exists('get_hour_history')) {    /**     * 获取当日历史小时     *     * @return array     */    function get_hour_history()    {        $history = [];        for ($i = 0; $i <= date('H'); $i++) {            $history[] = $i;        }        return $history;    }}
总结

以上是内存溢出为你收集整理的PHP实用函数集合全部内容,希望文章能够帮你解决PHP实用函数集合所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1165726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存