从低于X的id生成整数哈希?

时间:2017-06-17 09:16:14

标签: php

我需要从数据库ID生成一个非唯一的哈希值,我需要设置一个生成的哈希值不大于x的参数。

示例:

ID:12312452

不大于5

十字脚是20。现在我可以使用do-while来对数字求和。总和为2

但如果我采用54674567,则交叉脚是44,最后它是8 ......

我需要此功能用于动态文本。我有一个带有一些元描述的数组(例如,5个描述),并且在每个页面(具有id的数据库记录)上,该函数必须选择描述。我不想将描述保存在数据库中。

1 个答案:

答案 0 :(得分:0)

好的,这是我的解决方案:

$numbers = [
    45384,
    44638,
    28213,
    43498,
    21170,
    30211
];

$max = 8;

foreach ($numbers as $key => $value) {
    var_dump( array_sum(str_split(crc32($value))) % $max );
}

结果:

int(6)
int(1)
int(4)
int(1)
int(4)
int(4)