Saya mempunyai kod php berikut yang mencipta nombor rawak apabila menambah nombor statik ;100 dan membahagikan nombor dengan |. Ia berfungsi dengan baik tetapi mencipta nombor pendua, bagaimanakah cara saya menghalang nombor pendua daripada dicipta?
echo shd ialah 3;100|2;100, tetapi tiada nombor berulang sebelum ;100. Tetapi kod ini kadangkala mengeluarkan nombor seperti 2;100|2;100, yang diulang.
<?php $kat_list=array(1,2,3,4); $count_cat= rand(2,3); for ($i = 1; $i <= $count_cat; $i++) { $rnd_cat= rand(0,count($kat_list)-1); $kats[]=$kat_list[$rnd_cat].'--100'; } $line=implode('-',$kats); $line=str_replace('--', ';', $line); $line=str_replace('-', '|', $line); echo $line;
Anda boleh menggunakan array_unique untuk mengalih keluar pendua sebelum array meletup
Cubalah: https://3v4l.org/a31pv