php隨機生成中文
A. php如何獲取隨機的中文字自動生成4個字的中文字
應該有個字型檔,可以在網上隨便復制一篇文章下來,作為字型檔,最好把裡面的標點符號空格什麼的都去去掉,就是純的漢字,然後再隨機取
B. php隨機顯示語句
那麼這個隨機名人名言的功能是如何實現的呢?
其實很簡單,只需要一個字元串變數,這裡面放所有要隨機展現的名人名言,然後用到explode函數分解成數組,再用rand隨機數生成一個值,輸出這個數組中的某一句。
直接上代碼:
says.php
復制代碼 代碼如下:
<?php
function random_str () {
$poems="人生的價值,並不是用時間,而是用深度去衡量的。-- 列夫·托爾斯泰
三人行,必有我師焉。擇其善者而從之,其不善者而改之。——孔子
人生不是一種享樂,而是一樁十分沉重的工作。-- 列夫·托爾斯泰
成為卓越的代名詞,很多人並不需要傑出素質的環境。——Steve Jobs
活著就是為了改變世界,難道還有其他原因嗎?——Steve Jobs
Follow yourself.追隨你的內心。——Steve Jobs
生活是不公平的;要去適應它。——比爾蓋茨
常常提醒自己注意幸福,就像在寒冷的日子裡經常看看太陽,心就不知不覺暖洋洋,亮光光。——畢淑敏
幸福是一種心靈的振顫。它像會傾聽音樂的耳朵一樣,需要不斷地訓練。——畢淑敏
這世界並不會在意你的自尊。這世界指望你在自我感覺良好之前先要有所成就。——比爾蓋茨
生活只有在平淡無味的人看來才是空虛而平淡無味的。-- 車爾尼雪夫斯基";
$poems=explode("\n",$poems);
return $poems[rand(0,count($poems)-1)];
}
function says(){
$says=random_str();
echo $says;
}
?>
關鍵在於這幾句:
復制代碼 代碼如下:
$poems=explode("\n",$poems);
return $poems[rand(0,count($poems)-1)];
如果您使用的是wordpress博客系統,可以把該文件says.php放到主題根目錄下,然後修改主題根目錄下的header.php,插入一條語句到前面:
復制代碼 代碼如下:
<?php include(dirname(__file__)."/says.php"); ?>
然後在你想顯示隨機名人名言的位置插入如下語句:
says();
這樣就可以調用了。對wordpress系統不是很了解,這個方法肯定不是最好的方法。
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函數隨機文字
把你函數中的
string
函數換成
mbstring
的函數,就應該不會出亂碼了。
比如
strlen
換成
mb_strlen。
具體用到什麼函數不知道,所已不能作具體回答。
還有,可以用程序隨機生成漢字字串:
<?php
function
getChineseChar()
{
$unidec
=
rand(hexdec('4e00'),
hexdec('9fa5'));
$unichr
=
''
.
$unidec
.
';';
$zhcnchr
=
mb_convert_encoding($unichr,
"UTF-8",
"HTML-ENTITIES");
return
$zhcnchr;
}
function
getRandStr($len)
{
$str
=
'';
for($i=0;$i<$len;$i++)
{
$str
=
$str
.
getChineseChar();
}
return
$str;
}
echo
getRandStr(4);
?>
不過,如果是用於驗證,不推薦這種做法,因為隨機生成的漢字大多比較生僻,很難輸入。
E. thinkphp怎麼隨機生成字元串
自己用php寫生成隨機字元串方法,然後調用就行,可以把這個方法放到thinkphp裡面的function.php裡面去,控制器中直接調用這個方法就行,也可以在當前控制器裡面定義這個方法,然後用$this->方法名()調用就行。
F. php生成中文
中文是由兩個位元組的ascii碼組成的
rand(0xB0, 0xCC) 意思是從16進制0xB0開始到0xCC之間取一個隨機數
chr() 函數把ascii 轉換成字元
點(.) 連接符把另一個chr()生成的字元連起來,就生成了兩個位元組的特殊字元。
輸出之後就是中文了。
G. 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取出字元拼接字元串。該方法的缺點是相同的字元不會重復取。