2018年6月26日,MiniFramework 新增了一个名为 getHash() 的全局函数,主要用于在数据库分库、分表场景下,通过传入的字符串,计算出一个指定长度,类型为 INT 的 HASH 值,以便对分库和分表进行定位。
示例代码如下:
$len = 8; for ($i = 0; $i < 100; $i ++) { echo $i . ' -> ' . getHash($i, $len) . "<br>"; }
上述代码运行结果为:
0 -> 1 1 -> 7 2 -> 5 3 -> 3 4 -> 0 5 -> 6 6 -> 4 7 -> 2 8 -> 3 9 -> 5 10 -> 1 11 -> 7 12 -> 5 13 -> 3 14 -> 0 15 -> 6 16 -> 4 17 -> 2 18 -> 3 19 -> 5 20 -> 2 ... ... ...
可以看到,上述运行结果中,所有的数字都经过 getHash() 函数计算,定位到了0至7(长度 $len 为 8)当中的一个数值上,这个数值就是我们所要获取的 HASH 值上。
MiniFramework 的 GitHub 源代码地址:https://github.com/jasonweicn/MiniFramework
上述内容为 http://www.miniframework.com 原创,转载请注明出处。