1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| <?php
// ------------
$arr_Men = ["Raoul","Pierre","Paul","Jérome"];
$arr_Women = ["Julie","Magalie","Sophie"]; // 1-(on a MOINS de femmes que d'hommes)
//$arr_Women = ["Julie","Magalie","Sophie","Anne"]; // 2-(on a AUTANT de femmes que d'hommes)
//$arr_Women = ["Julie","Magalie","Sophie","Anne","Gaelle","Lise"]; // 3-(on a PLUS de femmes que d'hommes)
// ------------
function get_unique_couple_men_women( $arr_Men=[], $arr_Women=[] )
{
// echo '$arr_Men :'; var_dump( $arr_Men );
// echo '$arr_Women :'; var_dump( $arr_Women );
// --------
$count_Men = count( $arr_Men );
$count_Women = count( $arr_Women );
$count = max( $count_Men, $count_Women );
// echo '$count : '.$count.'<br/>';
// --------
if( $count_Women <= $count_Men ){ // 1-2-(on a AUTANT ou MOINS de femmes que d'hommes)
$arr_1 = $arr_Women;
$arr_2 = $arr_Men;
} else { // 3-(on a PLUS de femmes que d'hommes)
$arr_1 = $arr_Men;
$arr_2 = $arr_Women;
}
// --------
$data = [];
for( $idx=0; $idx<$count; $idx++ )
{
foreach( $arr_2 as $idx2 => $name2 )
{
$data[($idx+$count-1)%$count][$name2] = ( isset($arr_1[($idx+$idx2)%$count]) )? $arr_1[($idx+$idx2)%$count] : '-';
}
}
// --------
return $data;
}
// ------------
$unique_couple = get_unique_couple_men_women( $arr_Men, $arr_Women );
echo '$unique_couple :'; var_dump( $unique_couple );
// ------------
?> |
Partager