<?php
/**
* 随机长度字符串.
*
* @param int $lenth 随机字符串的长度
* @param string $characters 字符集
*
* @return string
*/
if (!function_exists('str_rand')) {
function str_rand($length = 8, $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
{
if (!is_int($length) || $length < 0) {
return false;
}
$characters_length = strlen($characters) - 1;
$string = '';
for ($i = $length; $i > 0; --$i) {
$string .= $characters[mt_rand(0, $characters_length)];
}
return $string;
}
}
if (!function_exists('parse_integer_value')) {
/**
* 主要用于从前端获取分页数据时的重置.
*
* @param array $data 数据原始位置,是为了判断 key 是否被设置所以需要源数据
* @param string $key 取值 key
* @param int|null $default 默认值
*
* @return int|null 返回默认值,或者 int 类型的值
*/
function parse_integer_value(array $data, string $key, int $default = null)
{
if (!isset($data[$key])) {
return $default;
}
if (false === filter_var($data[$key], FILTER_VALIDATE_INT)) {
return $default;
}
return (int) $data[$key];
}
}