<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                小項目,就是那種沒有商業項目特別要求(比如涉及支付、手機端、微信版)之類,由個人能一兩個月內完全獨立的開發完成的項目。 小到一個數學算法問題,大到一個簡單的cms、論壇。都算在內。 我認為,博客就是一個很好的鍛煉項目。 所以我開發了OneBlog、freelog兩個基于bootstrap的現代博客。 每個TPer、每個技術人員都應該有自己的技術博客來管理知識、分享知識和交流問題。 ## 真實例子 有一天,網上我看到了一個密碼生成器 ![document/2015-08-23/55d9d081d911e](http://box.kancloud.cn/document_2015-08-23_55d9d081d911e.png) 我在想他背后是怎么實現的呢? 他的需求是什么?我也寫一個試試吧。 這個密碼生成器的最終目的生成定長的隨機字符串,只不過可選供生成的隨機字符創的字符范圍。 所以他應該有2個參數,字符串類型和長度。關鍵算法是隨機拼長。 在我思考之下寫出了這樣一個函數: ~~~ /** * 用于生成唯一密碼 * @param len int 密碼長度 默認8 * @param pattern string 密碼字符的范圍 第一個是阿拉伯數字 開關 第二個是小寫字母 第三個大寫字母 第四個是特殊字符 如果 都用到就是1111 至少要有一個1 */ function randpass($len=8, $pattern='1000'){ static $seed = array( '0123456789', 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', '+=-@#~,.[]()!%^*$' ); if(!is_string($pattern) || strpos('1', $pattern) == -1 || strlen($pattern) > count($seed)) send_error('','生成隨機字符串模式格式有誤');//項目中報錯,通用的應該是拋異常 $pattern = str_split($pattern); $randStr = ''; foreach ($pattern as $key => $value) { if($value == '1') $randStr .= $seed[$key]; } // echo $randStr; $temppass = array_fill(0, $len, ''); if(!function_exists('getChar')){ function getChar(&$value, $key, $seed){ $value = $seed[mt_rand(0,strlen($seed)-1)]; } } array_walk($temppass, 'getChar', $randStr); $temppass = implode('', $temppass); return $temppass; } ~~~ 第一步,根據模式拼接隨機母串; 第二步,用空字符串填充定長的目標數組; 第三步,遍歷數組,將目標數組通過getChar隨機函數進行替換值; 最后,將目標數組合并成字符串返回。 我非常同意“十萬個小時定律”,要成為一個優秀的程序員,必須花足夠的時間在編程上。所以適當的小項目和私活是必要的。
                  <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>

                              哎呀哎呀视频在线观看