题目:随机输出“苹果”,“橘子”,“香蕉”要求输出“苹果”的概率为50%,“橘子”的概率为30%,“香蕉”的概率为20%
分析
方案一:
最常用rand(1,10)来处理 如果是5以下的输出苹果 6到8的输出橘子 9到10的输出香蕉
<?
php
$arr =
array('苹果','橘子','香蕉'
);
$i =
mt_rand(1,10
);
if(
$i<=5
){
echo $arr[0
];
}else if(
$i>=9
){
echo $arr[1
];
}else{
echo $arr[2
];
}
然而这样是很不科学的 因为rand实在是太不靠谱了
方案二:
array_rand来处理
<?
php
$arr =
array('苹果','苹果','苹果','苹果','苹果','橘子','橘子','橘子','香蕉','香蕉'
);
$key=
array_rand(
$arr);
echo $arr[
$key];
?>
这真的靠谱吗?不敢恭维
方案三:
str_shuffle来处理
<?
php
$array=
array('1'=>'苹果','2'=>'橘子','3'=>'香蕉'
);
$string="1111122233"
;
$key=
str_shuffle(
$string);
echo $array[
$key{0
}];
?>
貌似我觉得这个最靠谱
转载于:https://www.cnblogs.com/lizhaoyao/p/4437047.html
相关资源:数据结构—成绩单生成器