Teman-teman semua yang menekuni bahasa pemrograman PHP pasti tidak asing lagi dengan fungsi base64_encode() dan base64_decode() kan untuk proses encoding, nah di artikel ini saya akan berbagi tentang fungsi yang mirip dengan base64 ini, hanya saja outputnya lebih sederhana, tetapi bisa dikembangkan lebih lanjut.
Ceritanya saya hendak meng-encode ID supaya tidak nampak secara kasat mata di URL, karena base64 sudah sangat lumrah digunakan, akhirnya saya cari alternatif lain untuk encoding ini, dan ketemulah dengan logika yang bisa digunakan untuk merubah angka-angka menjadi huruf alphabet.
Logikanya cukup sederhana, pertama membuat array yang berisi konversi dari masing-masing angka ke huruf alphabet, lalu angka yang mau dikonversi dijadikan sebuah array juga, nah dalam sebuah looping data dari array konversi dengan array yang akan dikonversi dicocokan, sehingga didapatlah sebuah output hasil konversinya.
Adapun fungsi tersebut adalah seperti ini:
<?php
if (!function_exists('number_to_str')) {
function number_to_str($number){
Baca juga : Menghapus Karakter yang Tidak Diinginkan dari String PHP
$convertion = [1=>'a', 2 =>'b', 3=>'c', 4=>'d', 5=>'e', 6=>'f', 7=>'g', 8=>'h', 9=>'i', 0=>'j'];
$array_data = str_split($number);
$new_data = '';
Baca juga : Meningkatkan Kapasitas Maksimum Upload File dengan .Htaccess
foreach ($array_data as $value) {
$new_data .= $convertion[$value]."";
}
return $new_data;
Baca juga : Membuat Password Berbeda untuk Setiap Akun dan Mudah Diingat
}
}
if (!function_exists('str_to_number')) {
function str_to_number($string){
$convertion = ['a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5, 'f'=>6, 'g'=>7, 'h'=>8, 'i'=>9, 'j'=>0];
$string = strtolower($string);
$array_data = str_split($string);
$new_data = '';
Baca juga : Cara Mengganti Port SSH Pada Ubuntu / Debian
foreach ($array_data as $value) {
$new_data .= $convertion[$value]."";
}
return $new_data;
}
}
?>
Fungsi tersebut masih bisa dirubah-rubah semau kita, dalam contoh diatas kan angka 1 itu dir, ubah menjadi huruf a, angka 2 dirubah menjadi hufur b dan seterusnya, nah kita bisa juga menggunakan kombinasi-kombinasi lain, misal angka 1 dirubah menjadi huruf z, angka 2 dirubah menjadi huruf m, dan sebagainya. Yang pasti, kombinasi angka dan huruf dari fungsi number_to_str dan str_to_number harus harus sama.
Untuk menghindari karakter lain selain angka dan huruf juga bisa ditambahkan sebuah regular expression, sehingga ketika dimasukan karakter lain ke string yang akan dikonversi tetap akan aman tidak error.
Fungsi untuk menghapus karakter lain selan angka dan huruf sendiri sudah pernah saya posting di artikel sebelumnya dengan judul Menghapus Karakter yang Tidak Diinginkan dari String PHP, silahkan teman-teman kembangkan sendiri ya.
Sekian tutorial tentang Merubah Angka Menjadi Huruf Alphabet dan Sebaliknya dengan PHP, semoga bermanfaat bagi teman-teman semua.