Some text some message..
Some text some message..
Some text some message..
Some text some message..

Silahkan atau queue Daftar disini.

Membuat Huruf Acak Dan Angka Acak Pada PHP

Aris Antony

Aris Antony

14 Nov 2022, 07:41:14

Bagaimana cara menghasilkan huruf yang diacak dan juga angka acak pada PHP? Saya ingin membuat 3 huruf acak yang di dalamnya tidak terdapat huruf ganda. Kemudian di belakangnya diikuti dengan 4 buah angka acak dan juga tidak ada angka ganda di dalamnya.

Sebagai contoh hasilnya misalnya "ABC1234". Terima kasih atas jawabannya..

Tags : tag iconhtml tag iconphp

  

facebooktwitterwhatapplinkedinpinterest

comment2 Jawaban, 388 view

Zainal Abidin

Zainal Abidin

14 Nov 2022, 08:36:27

Pada huruf acaknya dapat menggunakan string shuffle untuk mengambil mengacak setiap hurufnya kemudian baru diambil sebanyak 3 buah string dengan fungsi substring. Namun sebelum di acak harus di stringnya harus diulang agar hasilnya bisa maksimal.

Pada angka acaknya menggunakan rand() sebanyak 4 kali.

$string = substr(str_shuffle(str_repeat("ABCDEFGHIJKLMNOPQRSTUVWYXZ", 5)), 0, 3);
$angka = rand(1,9).rand(0,9).rand(0,9).rand(0,9);/* 4 digit */
echo $string.$angka;

hasilnya : JMK9289 

  

Angga Wijaya

Angga Wijaya

14 Nov 2022, 08:39:02

Si penanya ingin agar hasilnya tidak ganda. Kemungkinan hasil ganda pada string masih ada. Kalau str_repeat dihilangkan, hasil string gandanya akan teratasi. Pada hasil angkanya juga ganda, solusinya dapat menggunakan  str_shuffle tapi inputnya dalam bentuk angka.

$string = substr(str_shuffle("ABCDEFGHIJKLMNOPQRSTUVWYXZ"), 0, 3);
$angka = substr(str_shuffle("0123456789"), 0, 4);
echo $string.$angka;

Zulkarnaen

Zulkarnaen

14 Nov 2022, 08:40:27

Pakai angka acak lalu dikonversi ke ASCII.

function acak(){
	$str = '';
	$str_len = 3;
	for($i = 0; $i < $str_len; $i++){
		//64 is ascii code for 'A' and 90 is ascii code for "Z"
		$str .= chr(rand(65, 90));
	}
	$angka = '';
	$angka_len = 4;
	for($x = 0; $x < $angka_len; $x++){
		//48 is ascii code for '0' and 57 is ascii code for "9"
		$angka .= chr(rand(48, 57));
	}
	return $str.$angka;
}
echo acak();
  
Forum ini dibuat untuk menanyakan seputar permasalahan yang sering terjadi pada proses pembuatan halaman web pada HTML, desain web (CSS), pemrograman sisi client (JavaScript), pemrograman sisi server (PHP, ASP) beserta framework turunannya seperti codeigniter, Laravel, Yii. Forum ini tidak membatasi pertanyaan lainnya untuk bahasa program yang berbeda dengan orientasi website pada perangkat desktop dan smartphone.

Silahkan atau queue Daftar disini.

News Letters

Silahkan masukkan email Anda untuk berlangganan informasi kami

Forum ini dibuat untuk menanyakan seputar permasalahan yang sering terjadi pada proses pembuatan halaman web pada HTML, desain web (CSS), pemrograman sisi client (JavaScript), pemrograman sisi server (PHP, ASP) beserta framework turunannya seperti codeigniter, Laravel, Yii. Forum ini tidak membatasi pertanyaan lainnya untuk bahasa program yang berbeda dengan orientasi website pada perangkat desktop dan smartphone.