php中的Base62类(适用于数值转字符串)_php技巧

Base62类源码:

复制代码 代码如下:

class Base62 {

    private $string = "vPh7zZwA2LyU4bGq5tcVfIMxJi6XaSoK9CNp0OWljYTHQ8REnmu31BrdgeDkFs";

    public function base62_encode($str) {
        $out = '';
        for($t=floor(log10($str)/log10(62)); $t>=0; $t--) {
            $a = floor($str / pow(62, $t));
            $out = $out.substr($this->string, $a, 1);
            $str = $str - ($a * pow(62, $t));
        }  
        return $out;
    }  

    public function base62_decode($str) {
        $out = 0;
        $len = strlen($str) - 1;
        for($t=0; $t<=$len; $t++) {
            $out = $out + strpos($this->string, substr($str, $t, 1)) * pow(62, $len - $t);
        }  
        return substr(sprintf("%f", $out), 0, -7);
    }  
}

用法:

复制代码 代码如下:

$str = 1;
$object = new Base62();
echo $object->base62_encode($str) . "\n";
echo $object->base62_decode($object->base62_encode($str)) . "\n";

时间: 2024-09-19 17:46:43

php中的Base62类(适用于数值转字符串)_php技巧的相关文章

PHP的Yii框架中YiiBase入口类的扩展写法示例_php技巧

通过yiic.php自动创建一个应用后,入口文件初始代码如下: <?php // change the following paths if necessary $yii=dirname(__FILE__).'/../yii/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php'; // remove the following lines when in production mode defined

php class类的用法详细总结_php技巧

一:结构和调用(实例化): class className{} ,调用:$obj = new className();当类有构造函数时,还应传入参数.如$obj = new className($v,$v2-); 二:构造函数和析构函数: 1.构造函数用于初始化:使用__construct(),可带参数. 2.但析构函数不能带参数(用于在销去一个类之前执行一些操作或功能).析构函数用__destruct()做名称.在脚本执行结束时,会销掉内存中的对象,因此可不用析造函数,但有些比如COOKIE等

php中mysql连接方式PDO使用详解_php技巧

PDO常用方法: PDO::query()主要用于有记录结果返回的操作(PDOStatement),特别是select操作. PDO::exec()主要是针对没有结果集合返回的操作.如insert,update等操作.返回影响行数. PDO::lastInsertId()返回上次插入操作最后一条ID,但要注意:如果用insert into tb(col1,col2) values(v1,v2),(v11,v22)..的方式一次插入多条记录,lastinsertid()返回的只是第一条(v1,v2

在JavaScript中调用Java类和接口的方法_javascript技巧

前言 本文中所有的代码使用 JavaScript 编写,但你也可以用其他兼容 JSR 223 的脚本语言.这些例子可作为脚本文件也可以在交互式 Shell 中一次运行一个语句的方式来运行.在 JavaScript 中访问对象的属性和方法的语法与 Java 语言相同. 本文包含如下几部分: 1.访问 Java 类 为了在 JavaScript 中访问原生类型或者引用 Java 类型,可以调用 Java.type() 函数,该函数根据传入的完整类名返回对应对象的类型.下面代码显示如何获取不同的对象类

探讨PHP中OO之静态关键字以及类常量的详解_php技巧

闲着没事随便找了点PHP的关于OO的点资料看看,访问控制修饰符,self,parent,const,static几个关键字,箭头操作符(书上也这么叫..即"->"),范围解析操作符(即双冒号"::"),不过觉得这个跟C#语言里的OO很多是一样的,很容易理解不过还是看看理清PHP里的OO思路还是应该的吧.--------------------------------------------------------------------------------

interface中的常量类final修饰的字符串动态赋值

问题描述 我有若干个final 的字符串,字符串的值需要从properties文件中读取,功能对照代码如下所示:public interface Constant {private static final PropertiesUtil propertiesUtil = new PropertiesUtil("api-config.properties");public static final String name= propertiesUtil.getValue("na

探讨PHP中this,self,parent的区别详解_php技巧

{一}PHP中this,self,parent的区别之一this篇面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能.利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意义的.PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性.这里我主要谈的是this,self,parent 三个关键字之间的区别.从字面上来理解,分别是指

在PHP中养成7个面向对象的好习惯_php技巧

在 PHP 编程早期,PHP 代码在本质上是限于面向过程的.过程代码 的特征在于使用过程构建应用程序块.过程通过允许过程之间的调用提供某种程度的重用. 但是,没有面向对象的语言构造,程序员仍然可以把 OO 特性引入到 PHP 代码中.这样做有点困难并且会使代码难于阅读,因为它是混合范例(含有伪 OO 设计的过程语言).使用 PHP 代码中的 OO 构造 - 例如能够定义和使用类.能够构建使用继承的类之间的关系以及能够定义接口 - 可以更轻松地构建符合优秀 OO 实践的代码. 虽然没有过多模块化的

php中print(),print_r(),echo()的区别详解_php技巧

echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)   print()      只能打印出简单类型变量的值(如int,string)   print_r() 可以打印出复杂类型变量的值(如数组,对象)   echo        输出一个或者多个字符串 print --输出一个字符串 Description int print ( string arg )//返回值为整形 print " 你好朋友" ; 可以进行下面操作 复制代码