扫码关注官方订阅号
我有下面的 php 代码,它在添加静态数字 ;100 时创建随机数,并用 | 除数字。它运行良好,但会创建重复的数字,如何使其防止创建重复的数字?
echo shd 为 3;100|2;100,但 ;100 之前没有重复的数字。但此代码有时会输出类似 2;100|2;100 的数字,这些数字是重复的。
您可以在数组内爆之前使用 array_unique 删除重复项
$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'; } $kats = array_unique($kats); $line=implode('-',$kats); $line=str_replace('--', ';', $line); $line=str_replace('-', '|', $line); echo $line;
$kat_list=array(1,2,3,4); shuffle($kat_list); // shuffle list $count=3; for($i=0; $i<$count; ++$i) { // get the first N items of the shuffled list printf("%d ", $kat_list[$i]); }
尝试一下:https://3v4l.org/a31pv
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
您可以在数组内爆之前使用 array_unique 删除重复项
$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'; } $kats = array_unique($kats); $line=implode('-',$kats); $line=str_replace('--', ';', $line); $line=str_replace('-', '|', $line); echo $line;$kat_list=array(1,2,3,4); shuffle($kat_list); // shuffle list $count=3; for($i=0; $i<$count; ++$i) { // get the first N items of the shuffled list printf("%d ", $kat_list[$i]); }尝试一下:https://3v4l.org/a31pv