Membuat Pengulangan Dari array_rand

Hallo! Jadi begini, saya ingin mencetak nama acak dengan fungsi array_rand dalam jumlah tertentu. Tapi, kode yang saya tulis malah mencetak nama yang sama dalam pengulangan.

Kodenya seperti di bawah ini.

<?php
$name = array("Dadang Suherman", "Tata Suharta", "Nono Punjabi", "Tita Asturi", "Jeje Juhaedi");
$random = array_rand($name);

for ($i = 0; $i <= 5; $i++) {
   echo $name[$random]."\n";
}
?>

Mohon bantuannya, agar bisa mencetak nama acak dalam pengulangan. Terima kasih.

avatar husnaram
@husnaram

3 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

4 Jawaban:

memangnya jumlah nama yang diharapkan keluar berapa? kalau cuma satu ya ga perlu di loop lagi, tinggal echo $name[$random] aja karena sudah diacak oleh array_rand($name)

<?php
$name = array("Dadang Suherman", "Tata Suharta", "Nono Punjabi", "Tita Asturi", "Jeje Juhaedi");
$random1 = array_rand($name);
echo $name[$random1]."<br />";
$random2 = array_rand($name);
echo $name[$random2]."<br />";
$random3 = array_rand($name);
echo $name[$random3]."<br />";
$random4 = array_rand($name);
echo $name[$random4]."<br />";
$random5 = array_rand($name);
echo $name[$random5]."<br />";
?>
// output
Nono Punjabi
Jeje Juhaedi
Tata Suharta
Tata Suharta
Tita Asturi

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 6 tahun yang lalu

Maaf nih, jadi salah penyampaian di kode. Harusnya buka nama, tapi jurusan.

Jumlahnya, yang pasti banyak.

avatar husnaram
@husnaram

3 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

kalo maksudnya gitu jangan pakai array_rand() tapi pakai shuffle()

<?php
$name = array("Dadang Suherman", "Tata Suharta", "Nono Punjabi", "Tita Asturi", "Jeje Juhaedi");
shuffle($name);
for ($i = 0; $i < count($name); $i++) {
   echo $name[$i]."<br />";
}
?>

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 6 tahun yang lalu

@rachmatsasongko Oke, :D Terima kasih mas, solved sekarang...

avatar husnaram
@husnaram

3 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban