加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在php中将字符串转换为唯一数值

发布时间:2020-12-13 22:06:41 所属栏目:PHP教程 来源:网络整理
导读:我需要一个独特的内部int来使用它代表几种随机内容类型,我不能硬编码为类常量或配置选项.然而,当我可以使用更容易理解的术语“帖子”时,我不想提及“2”.因此,尽管从一个字符串中获取INT值的方法似乎对几个项目相当无冲突. 有没有办法在PHP而不是我建立的方
我需要一个独特的内部int来使用它代表几种随机内容类型,我不能硬编码为类常量或配置选项.然而,当我可以使用更容易理解的术语“帖子”时,我不想提及“2”.因此,尽管从一个字符串中获取INT值的方法似乎对几个项目相当无冲突.

有没有办法在PHP而不是我建立的方式做到这一点?

$strings = array('post','comment','blog','article','forum','news','page');

foreach( $strings as $string ) {

    print $string . ' = ';

    $string = str_split($string);
    $sum = 0;
    foreach( $string as $char ) {
        $sum += ord($char);
    }

    var_dump( $sum );

    print '<br />';
}

这与用户输入无关,因此不必担心设计中存在明显的缺陷.

:编辑:

我需要一个数字索引来存储在数据库中以便快速查找.即从“文章”或“新闻”中讲述“帖子”.但是我不知道那些1-8类型的内容会被调用,所以我不能在应用程序中将它们硬编码为常量.因此,我能想到的最好的方法是创建每个单词的数字版本(这意味着要检查以确保两个单词不能总结为相同的数字).

如果这是一个超过8个单词的系统,那么这种方法注定要失败,并且总和碰撞的概率很高.此外,如果我可以选择知道将使用哪些单词,那么这也将是一个糟糕的设计,因为类常量会更好.

解决方法

你可以使用 crc32,它是一个校验和函数,只返回一个4字节的整数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读