php - 从 PHP 中的字符串创建一个唯一的 4 字节整数

标签 php string integer unique

我有一个使用字符串作为键的 SQL 表。我需要使用 PHP 将该字符串(最多 18 个字符)转换为唯一的 (!) 4 字节整数。谁能帮忙?

最佳答案

独一无二?不可能,抱歉

让我们仔细看看:

对于 18 个字符,即使我们假设只有 128 个可能的 ASCII 字符(7 位),您也会得到 128^18 个可能的字符串(我什至没有考虑更短字符串的可能性!),大约是 8E37(8 和 37 个零)。

对于一个 4 字节的整数,您将获得 256^4 个可能的整数,大约是 4E9(40 亿)。

因此,字符串比整数多 4E28 个;你不能有唯一的映射。

因此,你肯定一输入第4294967297键就撞车,但输入多了就有可能撞车。

另请参阅:http://en.wikipedia.org/wiki/Pigeonhole_principle

关于php - 从 PHP 中的字符串创建一个唯一的 4 字节整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9470001/

相关文章:

java - 无法初始化整数变量

c++ - 在 C++ 中添加一个整数和一个元组作为二维 vector 每一行的列成员

php - 如何从数据库获取信息集(例如结果 1-24、25-49 等)

android - 当我有一个字符串时,为什么 toast 输出中出现空白文本?

python - 我如何在整个文本文件中搜索一行文本

c++ - 如何从列表c++中索引字符串中的字符

java - 如何在 Java 中实现无穷大?

php - 将删除的记录移动到另一个表

php - 如何使用 PHP 将纯文本 CSV 字段保存到 MySQL 数据库中的 HTML?

javascript - 如何使用ajax在函数拖放javascript中调用php函数