Comment detail
仲間はずれの判定 (Nested Flatten)This comment is reply for 3409 にしお: リストxsが渡されたときに <u...(仲間はずれの判定). Go to thread root.
array_count_values便利ですね。あえて使わないで作ってみる事で便利さを際実感
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 | $a[]= array(1,1,1,1);#1
$a[]= array(1,2,1,1,1);#2
$a[]= array(2,1,2,2);#その他
$a[]= array(1,2,2,2);#その他
$a[]= array(1,1,2,2);#その他
$a[]= array(1,1,2,3);#その他
function check($_array){
$uniques = sizeof(array_unique($_array));
switch($uniques){
case(1):
return array("仲間"=>array_pop($_array));
case(2):
sort($_array);
#仲間はずれ
if( $_array[0]!=$_array[1] ){
return array( "仲間はずれ"=>array_shift($_array),"仲間"=>array_pop($_array) );
}else if($_array[0]==$_array[1] && $_array[sizeof($_array)-1] != $_array[sizeof($_array)-2] ){
return array( "仲間はずれ"=>array_pop($_array),"仲間"=>array_shift($_array) );
}
default:
return "その他";
}
}
foreach( $a as $b ){
print_r( check($b) ).PHP_EOL;
}
|




nantan #3889() [ Java ] Rating0/0=0.00
Rating0/0=0.00-0+