백엔드 개발 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 
로그인 후 복사

源码:

<?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 Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

index.html은 어떤 파일인가요? index.html은 어떤 파일인가요? Feb 19, 2024 pm 01:36 PM

index.html은 웹 페이지의 홈 페이지 파일을 나타내며 웹 사이트의 기본 페이지입니다. 사용자가 웹사이트를 방문하면 일반적으로 index.html 페이지가 먼저 로드됩니다. HTML(HypertextMarkupLanguage)은 웹 페이지를 만드는 데 사용되는 마크업 언어이며 index.html도 HTML 파일입니다. 여기에는 웹페이지의 구조와 콘텐츠는 물론 서식 지정과 레이아웃에 사용되는 태그와 요소도 포함됩니다. 다음은 index.html 코드의 예입니다. &lt

마더보드의 디지털 오디오 출력 인터페이스 - SPDIF OUT 마더보드의 디지털 오디오 출력 인터페이스 - SPDIF OUT Jan 14, 2024 pm 04:42 PM

마더보드의 SPDIFOUT 연결 라인 순서 최근에 전선의 배선 순서에 문제가 발생했습니다. 온라인에서 확인해 보니 1, 2, 4가 out, +5V, ground에 해당한다는 정보도 있고, 1, 2, 4가 out, ground, +5V에 해당한다는 정보도 있습니다. 가장 좋은 방법은 마더보드 설명서를 확인하는 것입니다. 설명서를 찾을 수 없으면 멀티미터를 사용하여 측정할 수 있습니다. 먼저 접지를 찾은 다음 나머지 배선의 순서를 결정할 수 있습니다. 마더보드 VDG 배선 연결 방법 마더보드의 VDG 배선을 연결할 때 VGA 케이블의 한쪽 끝을 모니터의 VGA 인터페이스에 연결하고 다른 쪽 끝을 컴퓨터 그래픽 카드의 VGA 인터페이스에 연결해야 합니다. 마더보드의 VGA 포트에 연결하지 않도록 주의하세요. 연결되면 다음을 수행할 수 있습니다.

out 및 in 인터페이스는 무엇을 의미하나요? out 및 in 인터페이스는 무엇을 의미하나요? 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부터 시작). 길이(선택 사항): 하위 문자열의 길이입니다. 지정하지 않은 경우

win10 시스템이 충돌하고 메모리 부족이 표시되면 어떻게 해야 합니까? win10 시스템이 충돌하고 메모리 부족이 표시되면 어떻게 해야 합니까? Feb 09, 2024 pm 03:00 PM

Win10 시스템이 충돌하고 메모리 부족이 표시됩니다. 최근 많은 사용자가 컴퓨터를 사용할 때 이 메시지가 표시되어 수리를 위해 자주 다시 시작해야 합니다. 그렇다면 이 문제를 해결하려면 어떻게 해야 할까요? 더 많은 친구들이 문제를 해결할 수 있도록 돕기 위해 대다수의 사용자와 함께 작업 단계를 수행합니다. win10 시스템이 충돌하고 메모리 부족이 표시되는 경우 수행할 작업 1. 바탕 화면에서 이 컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 옵션 목록에서 "속성"을 선택합니다. 2. 새 창 인터페이스에 들어간 후 왼쪽 상단에 있는 "고급 시스템 설정" 옵션을 클릭합니다. 3. 열리는 창에서 "

mysql 인덱스가 뭐야? mysql 인덱스가 뭐야? Oct 08, 2023 am 11:47 AM

MySQL에서 인덱스는 인덱스를 의미하며 데이터베이스 테이블의 쿼리 속도를 높이기 위해 사용되는 데이터 구조입니다. 인덱스는 테이블의 특정 열 값을 저장합니다. 해당 행 위치를 통해 데이터베이스를 보다 효율적으로 찾고 액세스할 수 있습니다. 인덱스의 기능은 쿼리 효율성을 높이는 것입니다. 인덱스가 없으면 데이터베이스는 일치하는 데이터를 찾기 위해 전체 테이블을 행별로 스캔해야 합니다. 이 방법은 인덱스가 있는 경우 매우 시간이 많이 걸립니다. 필요한 데이터 행을 순서대로 빠르게 찾을 수 있으므로 쿼리 속도가 크게 향상됩니다.

See all articles