while循环练习
随机从0~9中抽取6个数字(循环,每次抽取一个), 使用这些数字拼接一个字符串
且这6个数字不能是重复数字.
例如 546897
结束后, 输出循环的次数 和 最终拼接出的数字
随机从0~9中抽取6个数字(循环,每次抽取一个), 使用这些数字拼接一个字符串
且这6个数字不能是重复数字.
例如 546897
结束后, 输出循环的次数 和 最终拼接出的数字
2017-06-18
<?php
function get_rand_arr($total_count,$get_count){
if($total_count<1 or $get_count<1){
exit('非法个数!');
}
if($total_count<$get_count){
exit('取出元素个数不能大于总数!');
}
$source_arr = array();
for($i=0;$i<$total_count;$i++){
array_push($source_arr,$i);
}
$result_arr = array();
if($get_count>$total_count/2){
$return_arr = &$source_arr;
}else{
$return_arr = &$result_arr;
}
$get_count = min($get_count,$total_count-$get_count);
while(count($result_arr)<$get_count){
$rand_num = mt_rand(0,count($source_arr)-1);
array_push($result_arr,$source_arr[$rand_num]);
array_splice($source_arr,$rand_num,1,array());
}
return $return_arr;
}
$result = get_rand_arr(10,6);
var_dump($result);
?>
举报