Kupon Kodu – Rastgele Kod Nasıl Oluşturulur?

Başlığı kupon kodu olarak yazdım ama bu herhangi bir sebepte olabilir örneğin; e-posta veya şifre değiştirmek için bağlantı göndereceksinizdir oradaki benzersiz hash kodu olabilir, rastgele bir numara oluşturmanız gerekiyordur orada kullanılabilir vb. Kullanımı ihtiyaca göre değişmektedir.

Bu fonksiyonun bir güzelliği istediğin karakterlere göre oluşturabiliyor olmak yani ben sadece büyük harfler olsun ve sayılardan oluşsun istiyorum diyebiliyorsunuz.

Veya ben özel karakter içeren bir rastgele kod istiyorum diyorsanız ekstra karakter belirtip bunu sağlayabiliyorsunuz.

Fonksiyona gelecek olursak:

function random_key($key,$count,$special_char = null)
{
    $chars = '';
    if(is_array($key)){
        $keys = [
            'number' => "0123456789",
            'uppercase_letter' => 'ABCDEFGHJKLMNOPRSTUVYZWQ',
            'lover_case' => 'abcdefghjklmnoprstuvyzwq'
        ];
        foreach ($key as $key) { $chars .= $keys[$key]; }
    }else{
        $chars .= $key;
    }

    $chars .= $special_char;

    $random = substr(str_shuffle($chars),0, $count);
    return $random;
}

Fonksiyonun standart 3 veri tipi var bunlar number, uppercase_letter ve lover_case standart olarak bunları belirledim büyük karakterler, küçük karakterler ve sayılar olarak fakat olurda ilerde bunlar dışında ekstra bir karakter istersem diye special_char adında bir değişken tanımladım buda olası ekstra bir karakter içeren kod oluşturmak istersem kullanmam için yaptığım bir şey.

Kullanımı:

echo random_key(['number','lover_case'],5);
// Çıktı : 5DE2T
echo random_key("",5,"?=_ABCD");
// Çıktı : ?C_DB

Benim kullanım şeklim genel olarak kupon kodları olduğu için örneğin şu şekilde kupon kodları oluşturuyorum 98RF-2R1F-LLK2-LLD6 bu ve benzeri tiplerde kullanıyorum.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir