gpt4 book ai didi

php - 如何将字符串转换为唯一数字?

转载 作者:行者123 更新时间:2023-11-29 06:19:58 33 4
gpt4 key购买 nike

我有一个这样的表:

// viewed
+----+------------------+
| id | username_or_ip |
+----+------------------+

如您所见,username_or_ip 列保留usernameip。它的类型是 INT(11) UNSIGNED。我这样存储 IP:

INSERT table(ip) VALUES (INET_ATON('192.168.0.1'));

// It will be saved like this: ip = 3232235521

嗯,我想知道,是否有任何方法可以将像 Sajad 这样的字符串转换为唯一数字? (因为正如我所说,username_or_ip 只接受数字值)

最佳答案

int(11) 是 32 位数据类型。因此,它足以容纳一个 ipv4 地址。您的问题指出了这一点。

可逆将任意字符串转换为 32 位数据类型很困难:它只是缺乏信息存储能力。

您可以为此目的使用查找表。许多语言,包括 php 5.4+,都支持使用称为“实习”的过程。 https://en.wikipedia.org/wiki/String_interning

或者您可以在 MySQL 表中为自己构建一个查找表。它的列将是一个 id 列和一个 value 列。您可以通过使用唯一的 id 值为其创建行来实习每个新的文本字符串,然后使用该值。

您对在 MySQL 中查找 varchar(255) 或类似值很慢的直觉是合理的。但是,恕我直言,这是不正确的。正确索引后,包含此类数据的表格可以非常快速地进行搜索。

关于php - 如何将字符串转换为唯一数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33843893/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com