1. 程式人生 > >php開發筆記(七)用陣列函式實現生成隨機字串

php開發筆記(七)用陣列函式實現生成隨機字串

(1)檔案目錄

程式碼是採用了類與物件的方式來生成二維碼的,故在此同時想對require包含檔案的用法做以說明

將getPhp.php和index.php放於同一目錄下,index.php作用是,建立一個生成二維碼的類,然後在getPhp.php標頭檔案中使用require引入index.php然後就可以呼叫index.php裡面的類。

(2)程式碼分析

index.php

<?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:
        }
    }
}
可以看出建立了一個checkCode類,有私有屬性$length(生成字串的長度),$type(生成二維碼的型別),建構函式,生成二維碼的函式,根據建立物件時傳入的引數$type,來確定生成什麼形式的二維碼。

getPhp.index

<?php
    require "index.php";
    $code=new checkCode(4,3);
    echo $code->randNumber();
引入index.php檔案,可以使用其中建立的類例項化物件,根據您的目的和需求,例項化您想要的物件,然後呼叫物件的函式

(三)重點解析

array_rand():從陣列中隨機取出一個或多個元素,返回鍵值

array_flip():反轉/交換陣列中的鍵名和對應關聯的鍵值。

array_merge():把一個或多個數組合併為陣列






把一個或多個數組合併為一個數組。


把一個或多個數組合併為一個數組。
把一個或多個數組合併為一個數組。
把一個或多個數組合併為一個數組。