算法

mac2022-06-30  84

<?php

 

$model = ["张雪莲1","何香香2","黄雅美3","朱红晓4","梁美丽5"];//模特

$photographer = ["何濠","张楠","黄金国","陈小厨","潘伟国","张丽珍","钟小敏","王小名","朱辉","艾文平","张大胆","曾小明","汤建","海明珠","胡小注","张里"];//摄影师

$arr = [2,1,2];//模特分三组 人数为1,2,2

// 摄影师随机分配$nub = count($photographer);//摄影师总人数$group = count($arr);//总共分几组$y = $nub % $group;//取余数$m = round($nub/$group);//每组的人数$p = rand(0, ($group-1));//随机数//动态拼接数组for($i=0;$i<$group;$i++){ if($p==$i){ $arr_p[] = $m+$y; }else{ $arr_p[] = $m; }}

$a = get_array($model,$arr);//模特print_r($a);echo "<br/>======================<br/>";$b = get_array($photographer,$arr_p);//摄影师print_r($b);

 

 

/** * 公共算法 */function get_array($arr_nub,$count){ //模特随机分组 for($i=0;$i<count($count);$i++){ /** * 备注 array_rand()函数 当被分组的个数为1的时候 ,$arr_new是个整数。 * 如:array_rand($model,1) 此时的结果是整数数,大于1的时候是个数组。 */ //随机取的索引 数组 $arr_new = array_rand($arr_nub,$count[$i]); $leng = ""; if(is_array($arr_new)){ $leng = count($arr_new); }else{ $leng = 1; } $x = ""; for($j=0;$j<$leng;$j++){ if($leng == 1){ $x = $arr_nub[$arr_new]; unset($arr_nub[$arr_new]); }else{ $str = $arr_nub[$arr_new[$j]]; $x .= $j==0?$str:",".$str; unset($arr_nub[$arr_new[$j]]); } } $temp_arr [$i] = $x; } return $temp_arr;}

/** * 公共算法 *///function get_array($arr_nub,$count){// //模特随机分组// for($i=0;$i<count($count);$i++){// /**// * 备注 array_rand()函数 当被分组的个数为1的时候 ,$arr_new是个整数。// * 如:array_rand($model,1) 此时的结果是整数数,大于1的时候是个数组。// */// //随机取的索引 数组 // $arr_new = array_rand($arr_nub,$count[$i]);// $str = "第".($i+1)."组:";// $leng = "";// if(is_array($arr_new)){// $leng = count($arr_new);// }else{// $leng = 1;// }// for($j=0;$j<$leng;$j++){// if($leng == 1){// $str .= $arr_nub[$arr_new].",";// unset($arr_nub[$arr_new]);// }else{// $str .= $arr_nub[$arr_new[$j]].",";// unset($arr_nub[$arr_new[$j]]);// }// }// echo $str."<br/>";// }//}

 

//$a=array("red","green","blue","yellow");//print_r(array_rand($a,1));

//$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");//$rand_keys = array_rand($input, 3);//print $input[$rand_keys[0]] . " ";//print $input[$rand_keys[1]] . " ";//print $input[$rand_keys[2]] . " ";

 

转载于:https://www.cnblogs.com/hgj123/p/5252400.html

最新回复(0)