php隨機字元
A. php 隨機取一字元串中的一部分字元
PHP隨機取字元串中一部分字元示例代碼:
<?php
//字元串
$str="";
//1.獲取字元串的長度
$length=strlen($str)-1;
//2.字元串截取開始位置
$start=rand(0,$length);
//3.字元串截取長度
$count=rand(0,$length);
//4.隨機截取字元串,取其中的一部分字元串
$data=substr($str,$start,$count);
echo$data;
?>
B. php如何隨機顯示指定字元串
PHP里有一個內置的隨機函數rand()
兩種用法
第一種,不傳遞任何參數,隨機返回一個int型數據
第二種,傳遞兩個參數,第一個參數小於第二個參數,且必須為int型,隨機返回這兩個int型中間的一個數
你說的網頁每刷新一次,改變一次,是可以做到的,但是你要每隔20秒就換一次,這個就只能javascript了
因為PHP是單請求單響應的,如果要保持與伺服器的連接,可以做到,但是浪費非常多資源不值得。就是說,每20秒繼續執行代碼,執行完暫停
我這里就說每刷新一次的吧
<?php
$string[0]="這里是文本一";
$string[1]="這里是文本二";
$string[2]="這里是文本三";
$string[3]="這里是文本n";
$num = rand(0,3);//這里根據你的需要改變
echo $string[$num];
?>思想就是這個,看你具體程序怎麼設計了!
C. php如何隨機生成一段隨機長度的文字
PHP生成隨機長度的隨機字元串,本質就是多次調用隨機函數,例如要生成10-20個隨機字元,那麼首先用rand(10,20)生成隨機長度,然後rang(1,26)生成每一個隨機字元即可(如果需要區分大小寫、允許數字需要增加一些控制),最簡單的例子代碼:
<?php
$n=rand(10,20);
$s='';
for($i=1;$i<=$n;$i++)
$s.=chr(ord('a')+rand(1,26)-1);
echo$s;
?>
運行幾次的例子如下:
E:TEMP文件exp>a.php
nzgxatyitkej
E:TEMP文件exp>a.php
jegqruuyvoyre
E:TEMP文件exp>a.php
pqjdiawjmbrgvyrth
D. php如何生成隨機字元串
方法一
1、在33
–
126中生成一個隨機整數,如35。
2、將35轉換成對應的ASCII碼字元,如35對應#。
3、重復以上1、2步驟n次,連接成n位的密碼。
方法二
1、預置一個的字元串
$chars
,包括
a
–
z,A
–
Z,0
–
9,以及一些特殊字元。
2、在
$chars
字元串中隨機取一個字元。
3、重復第二步n次,可得長度為n的密碼。
方法三
1、預置一個的字元數組
$chars
,包括
a
–
z,A
–
Z,0
–
9,以及一些特殊字元。
2、通過array_rand()從數組$chars中隨機選出$length個元素。
3、根據已獲取的鍵名數組
$keys,從數組$chars取出字元拼接字元串。該方法的缺點是相同的字元不會重復取。
E. 如何用PHP隨機調用字元串中的字元
$zf='3,4,10,100,300,1000';
$arr=explode(',',$zf);
echo$arr[rand(0,count($arr)-1)];
F. PHP 隨機 替換字元串問題
這個用
正則表達式
來解決就ok啦,PHP中有有關正則表達式的函數,其中有一個專門用來查找替換的函數:
preg_replace
($regpatern,$replace,$str[,$limit])
功能描述:在字元串
$str中查找匹配類型$repatern,匹配成功用$replace替換掉,最後一個參數是可選的,限制匹配多少次默認為-1,表示替換所有匹配成功的子字元串;
參數:$regpatern為正則表達式,$repalce為要替換成的字元串,$str查找的范圍,$limit為替換的次數;
返回值
:替換後的字元串;
如:
?php
$regpatern='/a/';
$replace="b";
$str="aaadsfsfaaasdf";
echo
preg_replace($regpatern,$replace,$str,4);
?
運行結果為:bbbdsfsfbaasdf
G. php怎樣生成一個32位的隨機字元串
如用戶注冊生成隨機密碼,用戶重置密碼也需要生成一個隨機的密碼。隨機密碼也就是一串固定長度的字元串。下面介紹生成隨機字元串的三種基本方法:
H. 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',這樣就能確定唯一性。最後在後面產生一些隨機數字就可以。
I. PHP生成隨機數的幾種方法
php生成隨機數的幾種方法,總結如下:
第一種方法,非常簡單,直接使用系統自帶的函數:
查看代碼1
srand((double)microtime()*1000000);
2
//隨機產生0-99之間的整數
3
$randval=rand(0,99999999);
4
echo
$randval,'
';
5
6
第二種方法,稍微復雜一點,不只是生成只有數字的隨機字元串,更包括了各種特殊字元:
查看代碼
function
randomkeys($length){
$output='';
for($a=0;$a<$length;
$a++){
$output.=chr(mt_rand(33,
126));
}
return
$output;
}
echo
randomkeys(20);
J. thinkphp怎麼隨機生成字元串
自己用php寫生成隨機字元串方法,然後調用就行,可以把這個方法放到thinkphp裡面的function.php裡面去,控制器中直接調用這個方法就行,也可以在當前控制器裡面定義這個方法,然後用$this->方法名()調用就行。