概述
推荐:《PHP视频教程》
实用函数集合
<?php
if (!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;
}
}
登录后复制
以上就是PHP实用函数集合的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是狂野百褶裙为你收集整理的PHP实用函数集合的全部内容,希望文章能够帮你解决PHP实用函数集合所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复