當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 編程語言 » php生成字母數字

php生成字母數字-九游会j9娱乐平台

發布時間: 2024-07-01 15:04:55

php:如何生成隨機的唯一字母數字字元串

1. 自己寫代碼產生隨機的數字和字母組合,每產生1個去資料庫查詢該隨機碼是否已存在,如果已存在,則重新產生,直到不重復為止。
缺點:產生速度慢,還要查詢資料庫,當數據量大的時候,可能重復的機率會比較高,要查詢多次資料庫.
2. guid,該方法應該是用的比較多的。
優點:使用簡單方便,不用自己編寫額外的代碼
缺點:佔用資料庫空間相對較大,特別是根據guid查詢速度比較慢(畢竟是字元串)。
3. 主鍵 隨機碼的方式,我們產生的隨機碼保存到資料庫肯定會有個主鍵,用該主鍵 隨機字元來組合。產生步驟:
1) 先從id生成器中獲取id,比如是155.
2)填充成固定位數(比如8位)的字元串(不夠位數的左邊填0,超過位數直接使用該數字),得到:00000155
3)在每個數字後面隨機插入1個字母或其它非數字元號,得到:0a0f0r0y0h1k5l5m
這樣就可以得到1個隨機的唯一的邀請碼了。
優點:使用也比較簡單,不用查詢資料庫。最大的優點是查詢的時候,可以根據邀請碼直接得到主鍵id,然後根據id去資料庫查詢(速度很快),再比較查詢出來的邀請碼和用戶提交的邀請碼是否一致。
缺點:需要使用id產生器,如果主鍵是資料庫自增長的就不太好用(需要先插入資料庫獲取id,再更新邀請碼)。
4. 有時候產品經理說,我要求邀請碼都是數字的。把方法3變通下就可以實現唯一的純數字隨機碼了。
1) 獲取id: 155
2) 轉換成8進制:233
3) 轉為字元串,並在後面加'9'字元:2339
4)在後面隨機產生若干個隨機數字字元:2003967524987
轉為8進制後就不會出現9這個字元,然後在後面加個'9',這樣就能確定唯一性。最後在後面產生一些隨機數字就可以。

② php 26位字母轉換成數字

$str="aa";//寫你想要算的字元串;
$v;
function getv($s){
$arr=str_split($s,1);
for ($i=0;$i {
$v=gett($arr[$i])*getw(strlen($s)-$i-1) $v;
}
echo $v;
}
function getw($w){
$x=1;
for ($i=0;$i<$w;$i ){
$x=26*$x;
}
return $x;
}
function gett($ch){
return (ord($ch)-96);
}
echo getv($str);
?>

aa,剛好就是27.你試試吧

③ php將在需要時自動將字元串轉換為數字

代碼:

(3)php生成字母數字擴展閱讀:

php的數據類型轉換屬於強制轉換,允許轉換的php數據類型有:

(int)、(integer):轉換成整形;

(float)、(double)、(real):轉換成浮點型;

(string):轉換成字元串;

(bool)、(boolean):轉換成布爾類型;

(array):轉換成數組;

(object):轉換成對象。

④ php生成10位左右,數字、字母混合的字元串且唯一

$ycode = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j');
$ordersn =
$ycode[intval(date('y')) - 2017] . strtoupper(dechex(date('m'))) . date(
'd') . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf(
'd', rand(0, 99));

⑤ 「php」字元串如何轉換成數字

1.強制類型轉換方式 x0dx0a$foo = "1"; // $foo 是字元串類型 x0dx0a$bar = (int)$foo; // $bar 是整型 x0dx0ax0dx0a2.內置函數方式 x0dx0a$foo = "1"; // $foo 是字元串類型 x0dx0a$bar = intval($foo); // $bar 是整型 x0dx0ax0dx0a3.格式化字元串方式 x0dx0a$foo = "1"; // $foo 是字元串類型 x0dx0a$bar = sprintf("%d", $foo); // $bar 是字元串類型

⑥ 用php可不可以把漢字轉換成字母數字形式

可以的,自己做的php函數可以實現。
用法
1先導入這個文件,include pinyin.php
2,使用函數轉換,在echo後寫入待轉換中文,即可輸出為漢字的拼音形式。全部為字母。
3,echo('漢字轉換拼音')---輸出為hanzizhuanhuanpinyin
php漢字轉換函數文件pinyin.php如下。如果想編輯,可使用editplus打開。
$_tdatakey = explode('|', $_datakey);
$_tdatavalue = explode('|', $_datavalue);
$_data = (php_version>='5.0') ? array_combine($_tdatakey, $_tdatavalue) : _array_combine($_tdatakey, $_tdatavalue);
arsort($_data);
reset($_data);
if($_code != 'gb2312') $_string = _u2_utf8_gb($_string);
$_res = '';
for($i=0;$i $_p = ord(substr($_string, $i, 1));
if($_p>160){
$_q = ord(substr($_string, $i, 1));
$_p = $_p*256 $_q - 65536;
}
$_res .=_pinyin($_p, $_data);
}
$cls_str=array("!","@","#","$","%","^","&","*","(",")","~","<",">","{","}","[","]","?",",",".","/","\\","|"," "," ");
return str_replace($cls_str,"",$_res);//preg_replace("/[^a-z0-9]*/", '', $_res);
}

function _pinyin($_num, $_data) {
if ($_num>0 && $_num<160 ) return chr($_num);
elseif($_num<-20319 || $_num>-10247) return '';
else {
foreach($_data as $k=>$v){ if($v<=$_num) break;
} // return "_".$k;
return $k;
}
} function _u2_utf8_gb($_c) {
$_string = '';
if($_c < 0x80) $_string .= $_c;
elseif($_c < 0x800) {
$_string .= chr(0xc0 | $_c>>6);
$_string .= chr(0x80 | $_c & 0x3f);
}elseif($_c < 0x10000){
$_string .= chr(0xe0 | $_c>>12);
$_string .= chr(0x80 | $_c>>6 & 0x3f);
$_string .= chr(0x80 | $_c & 0x3f);
} elseif($_c < 0x200000) {
$_string .= chr(0xf0 | $_c>>18);
$_string .= chr(0x80 | $_c>>12 & 0x3f);
$_string .= chr(0x80 | $_c>>6 & 0x3f);
$_string .= chr(0x80 | $_c & 0x3f);
} return iconv('utf-8', 'gb2312', $_string);
}
function _array_combine($_arr1, $_arr2) {
for($i=0;$i return $_res;
}
echo pinyin('漢字轉拼音測試');
//默認是gb編碼

?>

⑦ php隨即生成6位數三位0-9三位a-z

以下函數可以實現隨機生成6位數,且其中三位為數字,另外三位為小寫字母:

functionmyrand(){
if(php_version<'4.2.0'){
srand();
}
$randarr=array();
for($i=0;$i<3;$i ){
$randarr[$i]=rand(0,9);
$randarr[$i 3]=chr(rand(0,25) 97);
}
shuffle($randarr);
returnimplode('',$randarr);
}

解釋:

  1. php_version < '4.2.0'判斷php的版本,在版本>=4.2.0時,rand函數會自動播種,不需要調用srand,故此處只有在低於4.2.0版本下需要播種

  2. rand函數會產生一個隨機數,范圍是兩個參數之間的整數(包括邊界),如rand(0,9)返回0~9中的任意一個(包括0和9)

  3. chr返回指定ascii碼所代表的字元,97為a的ascii碼,chr(rand(0, 25) 97)返回a-z中任意一個字元

  4. shuffle函數會將數組的順序打亂

  5. implode將數組中的元素用空白的字元連接成字元串,即拼接數組成為一個字元串

⑧ 如何用phpfor循環生成5位,數字字母組合,永不不重復

如果你希望永不重復 建議採用 php guid

guid是什麼

guid: 即globally unique identifier(全球唯一標識符) 也稱作 uuid(universally unique identifier) 。 guid是一個通過特定演算法產生的二進制長度為128位的數字標識符,用於指示產品的唯一性。guid 主要用於在擁有多個節點、多台計算機的網路或系統中,分配必須具有唯一性的標識符。

php中並不提供guid的內部實現。為此我們可以自己寫演算法實現。代碼片段如下:
function create_guid() {
$charid = strtoupper(md5(uniqid(mt_rand(), true)));
$hyphen = chr(45);// "-"
$uuid = chr(123)// "{"
.substr($charid, 0, 8).$hyphen
.substr($charid, 8, 4).$hyphen
.substr($charid,12, 4).$hyphen
.substr($charid,16, 4).$hyphen
.substr($charid,20,12)
.chr(125);// "}"
return $uuid;
}

熱點內容
resin下jsp不能正常編譯 發布:2024-07-17 16:34:44 瀏覽:229
sqlserver如何切換主備伺服器 發布:2024-07-17 16:23:02 瀏覽:299
mc18伺服器ip 發布:2024-07-17 16:23:02 瀏覽:379
仙境傳說手游腳本 發布:2024-07-17 16:09:24 瀏覽:691
matlab命令窗口和新建腳本 發布:2024-07-17 15:51:26 瀏覽:375
建ftp文件夾 發布:2024-07-17 15:51:26 瀏覽:955
魔獸撿物腳本 發布:2024-07-17 15:27:56 瀏覽:130
開發ip伺服器 發布:2024-07-17 15:24:42 瀏覽:388
安卓系統視頻製作哪個好用 發布:2024-07-17 15:10:47 瀏覽:210
androidapk結構 發布:2024-07-17 15:10:43 瀏覽:945
网站地图