Rumah pembangunan bahagian belakang tutorial php PHP把数目字ID转字母ID

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 
Salin selepas log masuk

源码:

<?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>
Salin selepas log masuk


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah fail index.html? Apakah fail index.html? Feb 19, 2024 pm 01:36 PM

index.html mewakili fail halaman utama halaman web dan merupakan halaman lalai tapak web. Apabila pengguna melawat tapak web, halaman index.html biasanya dimuatkan dahulu. HTML (HypertextMarkupLanguage) ialah bahasa penanda yang digunakan untuk membuat halaman web dan index.html juga merupakan fail HTML. Ia mengandungi struktur dan kandungan halaman web, serta teg dan elemen yang digunakan untuk pemformatan dan reka letak. Berikut ialah contoh kod index.html: &lt

Antara muka output audio digital pada papan induk-SPDIF OUT Antara muka output audio digital pada papan induk-SPDIF OUT Jan 14, 2024 pm 04:42 PM

Urutan talian sambungan SPDIFOUT pada papan induk Baru-baru ini, saya menghadapi masalah mengenai urutan pendawaian wayar. Saya menyemak dalam talian Beberapa maklumat mengatakan bahawa 1, 2, dan 4 sepadan dengan keluar, +5V, dan tanah manakala maklumat lain mengatakan bahawa 1, 2, dan 4 sepadan dengan keluar, tanah dan +5V. Cara terbaik ialah menyemak manual papan induk anda Jika anda tidak menemui manual, anda boleh menggunakan multimeter untuk mengukurnya. Cari tanah dahulu, kemudian anda boleh menentukan susunan pendawaian yang lain. Cara menyambung pendawaian VDG papan induk Apabila menyambungkan pendawaian VDG papan induk, anda perlu palamkan satu hujung kabel VGA ke antara muka VGA monitor dan hujung satu lagi ke antara muka VGA kad grafik komputer. Sila berhati-hati untuk tidak memasukkannya ke dalam port VGA motherboard. Setelah disambungkan, anda boleh

Apakah maksud antara muka keluar dan masuk? Apakah maksud antara muka keluar dan masuk? Sep 28, 2021 pm 04:39 PM

Antara muka keluar merujuk kepada antara muka keluaran, dan antara muka masuk merujuk kepada antara muka masukan. Antara muka keluar secara amnya mewakili antara muka keluaran talian sumber audio, yang digunakan untuk menyambungkan beban, seperti pembesar suara, fon kepala, dsb. manakala antara muka masuk secara amnya mewakili antara muka input talian sumber audio, yang digunakan untuk menyambungkan pemain CD, mudah alih telefon, pemain MP3, komputer, dsb.

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

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

PHP mengembalikan nilai ASCII bagi aksara pertama rentetan PHP mengembalikan nilai ASCII bagi aksara pertama rentetan Mar 21, 2024 am 11:01 AM

Artikel ini akan menerangkan secara terperinci nilai ASCII bagi rentetan pertama yang dikembalikan oleh PHP Editor berpendapat ia sangat praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. PHP mengembalikan nilai ASCII bagi aksara pertama rentetan Pengenalan Dalam PHP, mendapatkan nilai ASCII bagi aksara pertama rentetan ialah operasi biasa yang melibatkan pengetahuan asas pemprosesan rentetan dan pengekodan aksara. Nilai ASCII digunakan untuk mewakili nilai angka aksara dalam sistem komputer dan penting untuk perbandingan aksara, penghantaran data dan penyimpanan. Proses mendapatkan nilai ASCII bagi aksara pertama rentetan melibatkan langkah berikut: Dapatkan Rentetan: Tentukan rentetan yang anda ingin dapatkan nilai ASCII. Ia boleh menjadi pembolehubah atau pemalar rentetan

PHP mengembalikan rentetan dari kedudukan mula ke kedudukan akhir rentetan dalam rentetan lain PHP mengembalikan rentetan dari kedudukan mula ke kedudukan akhir rentetan dalam rentetan lain Mar 21, 2024 am 10:31 AM

Artikel ini akan menerangkan secara terperinci bagaimana PHP mengembalikan rentetan dari kedudukan mula ke kedudukan akhir rentetan dalam rentetan lain Editor berpendapat ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan artikel ini. Anda boleh memperoleh sesuatu daripada artikel ini. Gunakan fungsi substr() dalam PHP untuk mengekstrak subrentetan daripada rentetan Fungsi substr() boleh mengekstrak aksara dalam julat tertentu daripada rentetan. Sintaksnya adalah seperti berikut: substr(rentetan,mula,panjang) di mana: rentetan: rentetan asal dari mana subrentetan itu akan diekstrak. mula: Indeks kedudukan permulaan subrentetan (bermula dari 0). panjang (pilihan): Panjang subrentetan. Jika tidak dinyatakan, maka

Apakah yang perlu saya lakukan jika sistem win10 saya ranap dan memaparkan kehabisan memori? Apakah yang perlu saya lakukan jika sistem win10 saya ranap dan memaparkan kehabisan memori? Feb 09, 2024 pm 03:00 PM

Sistem Win10 ranap dan memaparkan memori di luar Baru-baru ini, ramai pengguna telah menemui gesaan ini apabila menggunakan komputer mereka, yang memerlukan restart yang kerap untuk membaiki Jadi bagaimana kita harus menangani masalah ini, tutorial win10 ini ada di sini langkah operasi dengan majoriti pengguna, dengan harapan dapat membantu lebih ramai rakan menyelesaikan masalah mereka. Apa yang perlu dilakukan jika sistem win10 ranap dan memaparkan memori di luar 1. Klik kanan komputer ini pada desktop dan pilih "Properties" dalam senarai pilihan. 2. Selepas memasuki antara muka tetingkap baharu, klik pilihan "Tetapan Sistem Lanjutan" di sudut kiri atas. 3. Dalam tetingkap yang terbuka, tukar kepada "

Penjelasan terperinci tentang penggunaan go out dalam bahasa C Penjelasan terperinci tentang penggunaan go out dalam bahasa C Mar 14, 2024 am 08:27 AM

Dalam bahasa C, "goout" ialah istilah yang biasa digunakan yang merujuk kepada keluarnya fungsi dan lulus nilai pulangan. Dalam artikel ini, kami akan menerangkan penggunaan "goout" dalam bahasa C secara terperinci dan memberikan contoh kod khusus. Dalam bahasa C, nilai pulangan fungsi dihantar ke fungsi panggilan melalui pernyataan pulangan. Pernyataan pulangan digunakan untuk menamatkan pelaksanaan fungsi dan mengembalikan nilai kepada pemanggil. Kenyataan pemulangan boleh digunakan di mana-mana dalam badan fungsi, tetapi secara amnya kita akan menggunakannya pada penghujung fungsi untuk mengembalikan yang terakhir

See all articles