Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中将单词转换为数字?_Php_String_Random - Fatal编程技术网

如何在PHP中将单词转换为数字?

如何在PHP中将单词转换为数字?,php,string,random,Php,String,Random,首先想到的方法是读取每个字符并将其转换为ASCII值。还有其他的方法吗?我希望能够给php脚本一个字符串,并让它每次都将相同的字符串(可能包含或不包含数字或符号)转换为相同的数字序列 也许你想了解一下?你能为这个函数提供一些界限吗?它需要做分数还是小数?还是小于零的数字?它需要多高?仅限英语?这会起作用(但我不确定我是否完全掌握了您想要做的事情): 那么,你说的是散列。 MD5()或(或一些当地偏执狂坚持认为的sha1()可以给你这个数字。虽然是十六进制的。我希望它能符合你不明确的目标。我已经读

首先想到的方法是读取每个字符并将其转换为ASCII值。还有其他的方法吗?我希望能够给php脚本一个字符串,并让它每次都将相同的字符串(可能包含或不包含数字或符号)转换为相同的数字序列

也许你想了解一下?

你能为这个函数提供一些界限吗?它需要做分数还是小数?还是小于零的数字?它需要多高?仅限英语?

这会起作用(但我不确定我是否完全掌握了您想要做的事情):

那么,你说的是散列。

MD5()或(或一些当地偏执狂坚持认为的sha1()可以给你这个数字。虽然是十六进制的。我希望它能符合你不明确的目标。

我已经读过那一页了。这不是我要找的。例如,我想给PHP一个值“clock”,让它在每次得到该值时将其转换成一个像“83653”这样的数字。是的,被接受的答案似乎是正确的。它必须是一个大于零的整数。它唯一需要转换的字符是可以通过一次按键输入的字符。哦,我以为你想将“1”转换为1,“2”转换为2等等。是的,你需要散列(正如这里的其他人所说)。散列将给你一个巨大的数字,但这可能不是你想要的。它是否也必须向后(数字到字符串)?不。一旦它得到字符串,它就会将字符串转换成一个数字,并开始使用该数字作为一种“id”。做什么的方法?你能更具体地回答你的问题吗?ASCII值方法有什么问题?你为什么需要这种转换呢?我的意思是,你真的不需要它,只是出于错误的假设才想要它?我同意-听起来确实需要一个散列值。如有必要,可以将raw_输出标志添加到MD5或SHAx函数中,以提供二进制输出,而不是十六进制输出。这归结为此方法或MD5哈希,但我决定使用哈希,因为它始终具有特定长度(32个字符)。我以前没有想过散列,因为我通常将其与文件关联,而不是与文本字符串关联(尽管当你认真研究它时,这就是文件真正的含义)。我最初希望它只是数字,但我认为这并不重要。
function string2num($in_str) {
    $out_str = '';
    $chars = unpack('c*', $in_str);

    foreach($chars as $char) {
        $out_str .= $char;
    }

    return $out_str;
}

// Outputs:
// 8410410511532105115329732115116114105110103

$num = string2num('This is a string');
print "$num\n";