En primer lugar, encontrar el valor máximo:
$etudiant = array ('a'=>'2','b'=>'5', 'c'=>'6', 'd'=>'6', 'e'=>'2');
$maxValue = max($etudiant);
En segundo lugar, encontrar los valores que aparecen más de una vez:
$dups = array_diff_assoc($etudiant, array_unique($etudiant));
último , compruebe las matrices originales para valores que coincidan con $maxValue
o valores que se enumeran en $dups
:
$MaxArray = $OtherArray = $ElseArray = array();
foreach ($etudiant as $key => $value) {
if ($value == $maxValue) {
$MaxArray[$key] = $value;
} else if (in_array($value, $dups)) {
$OtherArray[$key] = $value;
} else {
$ElseArray[$key] = $value;
}
}
que obtendrá:
$MaxArray: Array
(
[c] => 6
[d] => 6
)
$OtherArray: Array
(
[a] => 2
[e] => 2
)
Nota: No estaba segura de si quería la $MaxArray
para contener los elementos de valor máximo sólo si aparece más de una vez en la matriz de origen . Si es así, simplemente cambie la llamada max
a:
$maxValue = max($dups);
¿Sería mejor llamar '$ otherArray'' MinArray'? ¿O debería contener '' b '=> 5'? –