我有一个使用字符串作为键的 SQL 表。我需要使用 PHP 将该字符串(最多 18 个字符)转换为唯一的 (!) 4 字节整数。谁能帮忙?
最佳答案
独一无二?不可能,抱歉。
让我们仔细看看:
对于 18 个字符,即使我们假设只有 128 个可能的 ASCII 字符(7 位),您也会得到 128^18 个可能的字符串(我什至没有考虑更短字符串的可能性!),大约是 8E37(8 和 37 个零)。
对于一个 4 字节的整数,您将获得 256^4 个可能的整数,大约是 4E9(40 亿)。
因此,字符串比整数多 4E28 个;你不能有唯一的映射。
因此,你肯定一输入第4294967297键就撞车,但输入多了就有可能撞车。
关于php - 从 PHP 中的字符串创建一个唯一的 4 字节整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9470001/