我需要一个独特的内部int来使用,它将代表几个随机内容类型,我无法将其作为类常量或配置选项进行硬编码。然而,当我可以用更容易的术语“发布”时,我不想提及“2”。所以尽管有一种方法可以从一个字符串中获取INT值,这对于一些项目来说似乎可以非常有效地发挥作用。将字符串转换为唯一的数值在php
有没有办法做到这一点在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 />';
}
这与用户输入无关,所以不要担心设计中的明显缺陷。
:编辑:
我需要在快看看UPS数据库中存储数字索引。即从“物品”或“新闻”中告知“帖子”。然而我不知道这些1-8种类型的内容将被调用,所以我不能在应用程序中将这些内容硬编码为常量。因此,我认为最好的办法就是创建每个单词的数字版本(这意味着检查以确保两个单词不总和为相同的数字)。
如果这是一个系统将有超过8个单词,那么这种方法注定要失败的概率总和冲突。另外,如果我有选择知道将使用哪些单词,那么这也将是可怕的设计,因为类常量会更好。
你为什么不使用MD5哈希例如?(如果你不需要一个号码) – yoda 2009-09-08 02:32:02