将String转换为int php

时间:2013-10-23 04:51:51

标签: php string numbers

google books api会为每本书返回一个volumeid。这个volumeid是这样的字符串

AZ5J6B1-4BoC
UvK1Slvkz3MC
OBM3AAAAIAAJ

所以有大写字母,小写字母,短划线( - )下划线(_)等字符

那么是否有一个将这些字符转换为整数的库?

我也可以将字符串转换为某些数字,如

[A-Z]=[0-25]
[a-z]=[26-50]
[special characters like -,_,]=[51-...]

以上自煮脚本是否很好或者是否有某些标准函数在php中完成这项工作?

2 个答案:

答案 0 :(得分:5)

简单使用http://www.php.net/manual/en/function.ord.php

function num($text)
        {
        $num=null;

        for ($i = 0; $i < strlen($text); $i++)
        {
        $num =$num.ord($text[$i]);
        }

        return($num);
        }

示例10183491225753109122105505667。它是30位长的数字,但如果您想要一个唯一的数字,那就是它。

答案 1 :(得分:1)

为此,没有标准功能。我们为此编写了自定义代码。

 <?php
    function AsciiToInt($char){
    $success = "";
        if(strlen($char) == 1)
            return "char(".ord($char).")";
        else{
            for($i = 0; $i < strlen($char); $i++){
                if($i == strlen($char) - 1)
                    $success = $success.ord($char[$i]);
                else
                    $success = $success.ord($char[$i]).",";
            }
            return "char(".$success.")";
        }
    }
    echo AsciiToInt("<br>");//outputs char(60,98,114,62)
    ?>