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

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

substr(strlen) 函數解釋說明

substr($data,rand(0,strlen($data)),1);這個函數的解釋? ?? 這樣取值是隨機多少個?

還有的地方看到最后是-1?? 這又是什么意思?

正在回答

2 回答

這是PHP中的代碼,我們從括號里往外看:

strlen()用于返回字符串$data的長度,假設$data字符串長度為10;

rand(0,strlen($data))生成0~10中的一個隨機整數并返回,假設返回6;

substr($data,rand(0,strlen($data)),1);先簡化為:

substr($data,6,1);就是返回$data字符串中從下標為6的字符開始截取1個字符并返回;

假設$data="一二三四五六七八九十";

就是先用strlen()得到這個字符串的長度10,然后用rand()從0~10中取一個隨機整數6,然后用這個整數6做下標用substr()取出字符串中對應的字符"七"。

這串代碼應該有點問題,因為字符串的長度會比字符串的最大下標大1,所以應該是strlen($data)-1。

修正后的代碼可以在PHP中用于在若干個自定義字符中隨機選取若干個生成驗證碼

$data = 'abcdefghijkmnpqrstuvwxyQWERTYUIOPLKJHGFDSAZXCVBNM3456789';

? $code = ""; //定義一個空字符串

? for ($i = 0; $i < 4; $i++) { //循環四次

? ? $code .= substr($data, rand(0, strlen($data)-1), 1); //將隨機取出的字符拼入字符串$code中

? }?

上述代碼就是在所有大小寫字母和數字中隨機選取4個字符(除了小寫l,z,o,數字1,2)當成驗證碼保存在$code中。

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

-1反方向開始長度1

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

舉報

0/150
提交
取消

substr(strlen) 函數解釋說明

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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