亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

老師,你之前不是已經對長度做了控制了嗎?substr($chars,0,$length) ?但是之后你寫的FOR的作用是什么呢?

正在回答

6 回答

代碼粘貼出來看看

^-^...

0 回復 有任何疑惑可以回復我~
function?buildRandomString($type?=?1,?$length?=?4){
????if?($type?==?1)?{
????????$chars?=?join('',?range(0,?9));
????}elseif?($type?==?2)?{
????????$chars?=?join(array_merge(range('a',?'z'),?range('A',?'Z')));
????}elseif?($type?==?3)?{
????????$chars?=?join(array_merge(range('a',?'z'),?range('A',?'Z'),?range(0,?9)));
????}
????if?($length?>?strlen($chars)?{
????????exit('驗證碼設定的長度過長');
????}
????$chars?=?str_shuffle($chars);
????return?substr($chars,?0,?$length);
}

我有個地方寫錯了,今天改過來.

0 回復 有任何疑惑可以回復我~

打錯了,例子是“養了頭200斤的豬,你要從中割300斤肉”

0 回復 有任何疑惑可以回復我~

我猜你是說string.func.php里的return substr($chars, 0, $length); 是吧?

function?buildRandomString($type?=?1,?$length?=?4){
????if?($type?==?1)?{
????????$chars?=?join('',?range(0,?9));
????}elseif?($type?==?2)?{
????????$chars?=?join(array_merge(range('a',?'z'),?range('A',?'Z')));
????}elseif?($type?==?3)?{
????????$chars?=?join(array_merge(range('a',?'z'),?range('A',?'Z'),?range(0,?9)));
????}
????if?($length?>?$chars)?{
????????exit('驗證碼設定的長度過長');
????}
????$chars?=?str_shuffle($chars);
????return?substr($chars,?0,?$length);
}

調用buildRandomString()函數時,如果你不傳值,$type默認是1, $length默認是 4。如果你傳$length=80,也就是你要生成一個80位的驗證碼,我們看看行不行?

$chars?=?join(array_merge(range('a',?'z'),?range('A',?'Z'),?range(0,?9)));
此時,$chars生成的是一個26+26+10=62位的字符串(這是這三種$type中最長的一個了)。你想從這62位的字符串中截取前80位?這是不可能的。就像是你養了頭200斤的豬,你要從中割200斤肉的肉食一個道理的。
0 回復 有任何疑惑可以回復我~

你們的靜態頁面在哪里下載的???

0 回復 有任何疑惑可以回復我~

for循環里面是每次在畫布上畫一個字符

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
手把手教你實現電商網站后臺開發
  • 參與學習       117254    人
  • 解答問題       2101    個

手把手教你用PHP搭建電子商務平臺,由淺入深教你搭建電商系統

進入課程
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號