<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                假設場景: 從特定的字符庫中取一個定常的隨機字符串 長度:`$str_len = 20;` 字符庫:`$char_lib = '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY';` 期望結果:`$res = 'L47Ku8MRBcq35kvhAGRV';` **介紹兩種方法:1.循環+rand隨機數;2.PHP內置函數隨機打亂字符串** **給定條件:** ``` $str_len = 20; $char_lib = '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY'; ``` ##**for循環+rand隨機數** ```php function str_get_rand($str_len, $char_lib){ $res = ''; for($i = 0; $i < $str_len; $i++){ //從字符庫中隨機一個位置[數字] $str_loc = rand(0, strlen($char_lib) - 1); $res .= $char_lib[$str_loc]; } return $res; } ``` ##**PHP內置函數substr+str_shuffle** ```php function str_get_rand_nature($str_len, $char_lib){ return substr(str_shuffle($char_lib), -$str_len); } ``` **備注** > 這種方法有個致命的缺點就是:生成的結果字符串中不會出現重復值 ##**其他方法** 1.隨機33-126之間的整數,用對照ACSII碼表的方式生成 ```php function str_get_rand_chr($str_len){ $res = ''; for($i = 0; $i < $str_len; $i++){ $res .= chr(mt_rand(33, 126)); } return $res; } ``` ##**性能比較**[PHP:5.4.33; Apache:2.4.9] 以上兩段代碼分別執行10W次,得到的時間大概是: |執行次數|每次循環數|for循環|str_shuffle| |--|--|--| |1|10W|float(1.0182211399078)|float(0.24653792381287)| |2|10W|float(1.0166230201721)|float(0.24114298820496)| |3|10W|float(1.0591399669647)|float(0.24626517295837)| |4|10W|float(1.0441348552704)|float(0.24370694160461)| |5|10W|float(1.0388350486755)|float(0.28679704666138)| **備注** > for循環中的rand較mt_rand速度較慢,經測試使用mt_rand方法的for循環,10W次的時間平均值在1.0左右,還是比str_shuffle慢的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看