PHP把数目字ID转字母ID

Jun 13, 2016 am 11:34 AM
index out quot substr

PHP把数字ID转字母ID

PHP把数字ID转字母ID

 ID是网站中经常出现的,它一般是数字,但是我们发现现在的网站很多ID都是字母了,比如YouTube的视频播放页它的URL类似/watch?v=yzNjIBEdyww。 下面是一个生成字母ID的方法。
使用示例:

echo alphaID(12354);  //qnd  echo alphaID('qnd',true); //12354  echo alphaID(12354,false,6); //qndaab  echo alphaID('qndaab',true, 6); //12354 
ログイン後にコピー

源码:

<?php /** * Translates a number to a short alhanumeric version * * Translated any number up to 9007199254740992 * to a shorter version in letters e.g.: * 9007199254740989 --> PpQXn7COf * * specifiying the second argument true, it will * translate back e.g.: * PpQXn7COf --> 9007199254740989 * * this function is based on any2dec && dec2any by * fragmer[at]mail[dot]ru * see: http://nl3.php.net/manual/en/function.base-convert.php#52450 * * If you want the alphaID to be at least 3 letter long, use the * $pad_up = 3 argument * * In most cases this is better than totally random ID generators * because this can easily avoid duplicate ID's. * For example if you correlate the alpha ID to an auto incrementing ID * in your database, you're done. * * The reverse is done because it makes it slightly more cryptic, * but it also makes it easier to spread lots of IDs in different * directories on your filesystem. Example: * $part1 = substr($alpha_id,0,1); * $part2 = substr($alpha_id,1,1); * $part3 = substr($alpha_id,2,strlen($alpha_id)); * $destindir = "/".$part1."/".$part2."/".$part3; * // by reversing, directories are more evenly spread out. The * // first 26 directories already occupy 26 main levels * * more info on limitation: * - http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/165372 * * if you really need this for bigger numbers you probably have to look * at things like: http://theserverpages.com/php/manual/en/ref.bc.php * or: http://theserverpages.com/php/manual/en/ref.gmp.php * but I haven't really dugg into this. If you have more info on those * matters feel free to leave a comment. * * @author  Kevin van Zonneveld  * @author  Simon Franz * @author  Deadfish * @copyright 2008 Kevin van Zonneveld (http://kevin.vanzonneveld.net) * @license   http://www.opensource.org/licenses/bsd-license.php New BSD Licence * @version   SVN: Release: $Id: alphaID.inc.php 344 2009-06-10 17:43:59Z kevin $ * @link    http://kevin.vanzonneveld.net/ * * @param mixed   $in    String or long input to translate * @param boolean $to_num  Reverses translation when true * @param mixed   $pad_up  Number or boolean padds the result up to a specified length * @param string  $passKey Supplying a password makes it harder to calculate the original ID * * @return mixed string or long */function alphaID($in, $to_num = false, $pad_up = false, $passKey = null){  $index = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";  if ($passKey !== null) {    // Although this function's purpose is to just make the    // ID short - and not so much secure,    // with this patch by Simon Franz (http://blog.snaky.org/)    // you can optionally supply a password to make it harder    // to calculate the corresponding numeric ID     for ($n = 0; $n<strlen substr hash strlen : for array_multisort sort_desc implode if digital number alphabet letter code strrev bcpow strpos> 0) {        $out -= pow($base, $pad_up);      }    }    $out = sprintf('%F', $out);    $out = substr($out, 0, strpos($out, '.'));  } else {    // Digital number  -->>  alphabet letter code    if (is_numeric($pad_up)) {      $pad_up--;      if ($pad_up > 0) {        $in += pow($base, $pad_up);      }    }     $out = "";    for ($t = floor(log($in, $base)); $t >= 0; $t--) {      $bcp = bcpow($base, $t);      $a   = floor($in / $bcp) % $base;      $out = $out . substr($index, $a, 1);      $in  = $in - ($a * $bcp);    }    $out = strrev($out); // reverse  }   return $out;}</strlen>
ログイン後にコピー


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Index.html とは何のファイルですか? Index.html とは何のファイルですか? Feb 19, 2024 pm 01:36 PM

Index.html は Web ページのホームページ ファイルを表し、Web サイトのデフォルト ページです。ユーザーが Web サイトにアクセスすると、通常、index.html ページが最初に読み込まれます。 HTML (HypertextMarkupLanguage) は Web ページの作成に使用されるマークアップ言語であり、index.html も HTML ファイルです。これには、Web ページの構造とコンテンツに加えて、書式設定とレイアウトに使用されるタグと要素が含まれます。以下は、index.html コードの例です: &lt

マザーボード上のデジタルオーディオ出力インターフェイス - SPDIF OUT マザーボード上のデジタルオーディオ出力インターフェイス - SPDIF OUT Jan 14, 2024 pm 04:42 PM

マザーボード上の SPDIFOUT 接続線の順序 最近、ワイヤの配線順序に関する問題に遭遇しました。ネットで調べたところ、1、2、4がアウト、+5V、グラウンドに相当するという情報もあれば、1、2、4がアウト、グラウンド、+5Vに相当するという情報もありました。最善の方法は、マザーボードのマニュアルを確認することです。マニュアルが見つからない場合は、マルチメーターを使用して測定できます。最初にアースを見つけてから、残りの配線の順序を決定します。マザーボードの VDG 配線の接続方法 マザーボードの VDG 配線を接続するときは、VGA ケーブルの一端をモニターの VGA インターフェイスに差し込み、もう一端をコンピューターのグラフィックス カードの VGA インターフェイスに差し込む必要があります。マザーボードの VGA ポートに差し込まないよう注意してください。接続すると、次のことが可能になります

アウトインターフェイスとインインターフェイスは何を意味しますか? アウトインターフェイスとインインターフェイスは何を意味しますか? Sep 28, 2021 pm 04:39 PM

out インターフェイスは出力インターフェイスを指し、in インターフェイスは入力インターフェイスを指します。出力インターフェイスは通常、スピーカー、ヘッドフォンなどの負荷の接続に使用されるオーディオ ソース ライン出力インターフェイスを表し、一方、入力インターフェイスは通常、CD プレーヤー、モバイル機器の接続に使用されるオーディオ ソース ライン入力インターフェイスを表します。電話、MP3 プレーヤー、コンピュータなど。

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

PHP は文字列の最初の文字の ASCII 値を返します。 PHP は文字列の最初の文字の ASCII 値を返します。 Mar 21, 2024 am 11:01 AM

この記事では、PHP が返す文字列の最初の文字の ASCII 値について詳しく説明します。編集者が非常に実用的であると考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 PHP は文字列の最初の文字の ASCII 値を返します はじめに PHP では、文字列の最初の文字の ASCII 値を取得することは、文字列処理と文字エンコーディングの基本的な知識を必要とする一般的な操作です。 ASCII 値は、コンピュータ システムで文字の数値を表すために使用され、文字の比較、データの送信、および保存に重要です。文字列の最初の文字の ASCII 値を取得するプロセスには、次の手順が含まれます。 文字列の取得: ASCII 値を取得する文字列を決定します。変数または文字列定数を指定できます

PHPは、別の文字列内の文字列の開始位置から終了位置までの文字列を返します。 PHPは、別の文字列内の文字列の開始位置から終了位置までの文字列を返します。 Mar 21, 2024 am 10:31 AM

この記事では、PHP がどのようにして、別の文字列内の文字列の開始位置から終了位置まで文字列を返すかを詳しく説明します。非常に実用的であると編集者が考えたので、参考として共有します。この記事. この記事から何かを得ることができます。 PHP で substr() 関数を使用して、文字列から部分文字列を抽出します。substr() 関数は、文字列から指定された範囲内の文字を抽出できます。構文は次のとおりです。 substr(string,start,length) ここで、 string: 部分文字列が抽出される元の文字列。 start: 部分文字列の開始位置のインデックス (0 から始まります)。 length (オプション): 部分文字列の長さ。指定されていない場合は、

win10 システムがクラッシュしてメモリ不足が表示された場合はどうすればよいですか? win10 システムがクラッシュしてメモリ不足が表示された場合はどうすればよいですか? Feb 09, 2024 pm 03:00 PM

Win10 システムがクラッシュし、メモリ不足が表示されます。最近、多くのユーザーがコンピューターを使用しているときにこのプロンプトに遭遇し、修復するには頻繁に再起動が必要です。では、この状況にどう対処すればよいでしょうか? この問題に対処するために、この問題の win10 チュートリアルはここにあります。より多くの友人が問題を解決できるように支援することを期待して、大多数のユーザーと協力して操作を進めています。 win10 システムがクラッシュし、メモリ不足が表示された場合の対処方法 1. デスクトップ上でこのコンピュータを右クリックし、オプション リストで [プロパティ] を選択します。 2. 新しいウィンドウインターフェイスに入ったら、左上隅にある「システムの詳細設定」オプションをクリックします。 3. 開いたウィンドウで「」に切り替えます。

C言語でgo outの使い方を詳しく解説 C言語でgo outの使い方を詳しく解説 Mar 14, 2024 am 08:27 AM

C 言語では、「goout」は関数の終了と戻り値の受け渡しを指す一般的に使用される用語です。この記事では、C言語における「goout」の使い方と具体的なコード例を詳しく解説します。 C 言語では、関数の戻り値は return ステートメントを通じて呼び出し元の関数に渡されます。 return ステートメントは、関数の実行を終了し、呼び出し元に値を返すために使用されます。 return ステートメントは関数本体のどこでも使用できますが、通常は関数の最後で使用して最終結果を返します。

See all articles