長い数字を短い文字に変換する

PHP中文网
リリース: 2016-08-18 08:57:52
オリジナル
2280 人が閲覧しました

長い数字を短い文字に変換する


/**
 * 将数字转为短网址代码
 *
 * @param int $number 数字
 * @return string 短网址代码
 */
function generate_code($number) {
  $out  = "";
  $codes = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  while ($number > 60) {
    $key  = bcmod($number,'61');
    $number = bcsub(bcp($number,'61'),'1');
    $out  = $codes{$key}.$out;
  }
  return $codes{$number}.$out;
}
/**
 * 将短网址代码转为数字
 *
 * @param string $code 短网址代码
 * @return int 数字
 */
function get_num($code){
  $codes = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  $num = 0;
  $i = strlen($code);
 for($j=0;$j<strlen($code);$j++){
    $i--;
    $char = $code{$j};
    $pos = strpos($codes,$char);
    $num = bcadd(bcmul(bcpow("61", $i),($pos + 1)),$num);
  }
  $num=bcsub($num,"1");
  return  $num;
}
/*****函数结束****/

$id="1973337397412392446";
echo $id."
";
$did=generate_code($id);
echo generate_code($id)."
";
echo get_num($did);
ログイン後にコピー

上記は、長い数字を短い文字に変換する内容です。詳細については、PHP 中国語 Web サイト (www.php.cn) を参照してください。 )!

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート