推荐:《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')) {    /**     * 验证银行卡号     *     * @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;    }}

更多相关文章

  1. php字符串函数有哪些
  2. php响应Json字符串头部出现非法字符“\ufeff”的问题处理
  3. PHP高效生成一个不重复随机数
  4. php 字符串替换方法
  5. php反转字符串方法

随机推荐

  1. android 编译源码 错误解决2
  2. Android 签名类型
  3. Google Maps Android API V2 版本更新导
  4. Android ListView优化
  5. android ui 布局性能优化
  6. Android 客户端发送邮件(JMail方式)
  7. Android打开摄像头拍照,并显示出来
  8. 详解Android中的Activity生命周期
  9. ExpandableListView
  10. Android与J2ME区别之我见(1)