在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字节的整数.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |