php開發筆記(七)用陣列函式實現生成隨機字串
阿新 • • 發佈:2019-02-14
(1)檔案目錄
程式碼是採用了類與物件的方式來生成二維碼的,故在此同時想對require包含檔案的用法做以說明
將getPhp.php和index.php放於同一目錄下,index.php作用是,建立一個生成二維碼的類,然後在getPhp.php標頭檔案中使用require引入index.php然後就可以呼叫index.php裡面的類。
(2)程式碼分析
index.php
可以看出建立了一個checkCode類,有私有屬性$length(生成字串的長度),$type(生成二維碼的型別),建構函式,生成二維碼的函式,根據建立物件時傳入的引數$type,來確定生成什麼形式的二維碼。<?php class checkCode{ private $length=4; private $type=1; public function __construct($_length,$_type) { $this->length=$_length; $this->type=$_type; } public function randNumber(){ switch($this->type) { case 1: return join(array_rand(range(0,9),$this->length)); break; case 2: return join(array_rand(array_flip(array_merge(range('a','z'))),$this->length)); break; case 3: return join(array_rand(array_flip(array_merge(range('a','z'),range('A','Z'))),$this->length)); break; case 4: return join(array_rand(array_flip(array_merge(range('a','z'),range('A','Z'),range(1,9))),$this->length)); break; default: } } }
getPhp.index
<?php
require "index.php";
$code=new checkCode(4,3);
echo $code->randNumber();
引入index.php檔案,可以使用其中建立的類例項化物件,根據您的目的和需求,例項化您想要的物件,然後呼叫物件的函式
(三)重點解析
array_rand():從陣列中隨機取出一個或多個元素,返回鍵值
array_flip():反轉/交換陣列中的鍵名和對應關聯的鍵值。
array_merge():把一個或多個數組合併為陣列
把一個或多個數組合併為一個數組。 |
把一個或多個數組合併為一個數組。 |
把一個或多個數組合併為一個數組。 |
把一個或多個數組合併為一個數組。 |