php
文章平均质量分 55
h6play
这个作者很懒,什么都没留下…
展开
-
史上最叼PHP实现布隆过滤器
简介先放代码了/** * BitSet 模拟BitSet 在PHP中可以使用PHP代替 */class BitSet { protected $bit = []; public function add($index) { $this->bit[$index] = 1; } public function has($index) { if(isset($this->bit[$index])) {原创 2020-12-01 13:33:19 · 1404 阅读 · 0 评论 -
PHP金额转换成分互转
/** * @param int|string $var * @return string */function intToFloat($var) { $var = floatval($var); $var = $var / 100.00; return round($var, 2);}/*** @param float|string $var* @return float|int*/function floatToInt($var) { $var = floatval($v原创 2020-06-01 16:27:46 · 802 阅读 · 0 评论 -
PHP完美合并多维数组
/** * 是否索引数组 * @param array $arr * @return bool */function is_assoc(&$arr) { return (bool) count(array_filter(array_keys($arr), 'is_string'));}/** * 合并两个多维数组 * @param array $a1 * @param array $a2 * @return array */function array_merge原创 2020-05-30 13:28:14 · 2226 阅读 · 0 评论 -
PHP实现版本号整数和字符串互转
版本号格式000.000.000请查看代码/** * 版本号转整数 例如 1.0.0=001.000.000=001000000=1000000 * @param string $ver * @return int */function versionToInteger($ver) { $ver = explode(".", $ver); $v1 = sprintf('%03s', (int) $ver[0] ?? 0); $v2 = sprintf('%03s',原创 2020-05-26 15:48:23 · 748 阅读 · 1 评论 -
EasyWechat 公众号 AccessToken 共享方案
EasyWechat 公众号 AccessToken 共享方案配置 EasyWechat 缓存方式采用 Redis例如 公众号 缓存 Cache Key 的生成方式如下$cacheKey = "easywechat.kernel.access_token." . md5(json_encode([ 'grant_type' => 'client_credential', ...原创 2019-12-10 21:34:52 · 3550 阅读 · 0 评论 -
PHP颜色十六进制转化为RGB
PHP颜色十六进制转化为RGBfunction hColor2RGB($hexColor){ $color = str_replace('#', '', $hexColor); if (strlen($color) > 3) { $rgb = array( 'r' => hexdec(substr($color, 0, 2)), 'g' => hexdec...原创 2019-11-17 14:13:25 · 326 阅读 · 0 评论 -
PHP根据IP获取城市名称
PHP根据IP获取城市名称/** * 根据 ip 获取 当前城市 */function get_city_by_ip(){ if (!empty($_SERVER["HTTP_CLIENT_IP"])) { $cip = $_SERVER["HTTP_CLIENT_IP"]; } elseif (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) ...原创 2019-11-17 14:11:52 · 676 阅读 · 0 评论 -
PHP、Go如何高性能的生成4-5位不重复的抽奖码
如何高性能的生成4-5位不重复的抽奖码首先我们明确一点 我们需要 单个抽奖 里面的 每条参与记录的抽奖码 都是唯一的并且还需要明确一点 抽奖码 必须要 短 而且还不能 重复那么怎么办呢?用 雪花算法 明显不太可能,而且生成的数字 还长 是 长整形所以我们得用 进制算法 通过增加 进制位字符 进行缩短 十进制的字符那么我们如何得到 单个活动 唯一的参与抽奖码 呢?我们可以通过这样...原创 2019-11-09 14:21:10 · 869 阅读 · 0 评论 -
PHP打乱字符串,生成随机字符串
$bas = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";$bas = str_split($bas, 1); // 按照字符长度分割; 长度 1shuffle($bas); // 随机打乱数组排序$bas = implode("", $bas); // 将数组合并为字符串echo($bas);...原创 2019-10-31 13:15:43 · 482 阅读 · 0 评论 -
PHP进制算法、十六进制、N进制、算法原理
原理字符:"0123456789ABCDEF除16取余数得最低1位,然后把商继续除得第2位,直到商等于065036 除 16,余数 12©,商40644064 除 16,余数 0(0),商254254 除 16,余数 14(E),商1515除16,余数 15(F),商0,结束得16进制为 FE0C代码<?phpfunction L($str) { echo ...原创 2019-10-30 23:48:00 · 353 阅读 · 0 评论 -
抽奖高并发实现流程逻辑
抽奖高并发实现流程逻辑抽奖高并发实现流程逻辑业务说明队列说明提供接口说明发布抽奖-流程参与抽奖-流程结算抽奖-流程是否中奖-流程抽奖高并发实现流程逻辑首先我们会采用 Laravel (服务端处理程序) + Redis(高速缓存) + Mysql\MongoDB(持久存储) 的形式本文章只会展示实现逻辑以及流程图,并不会直接展示代码,里面涉及到一些知识如果有不明白欢迎提问业务说明我们...原创 2019-10-04 17:09:23 · 1528 阅读 · 0 评论