En PHP, disons que vous avez un tableau associatif comme celui-ci:
$pets = array(
"cats" => 1,
"dogs" => 2,
"fish" => 3
);
Comment pourrais-je trouver la clé avec la valeur la plus basse? Ici, je chercherais cats
.
Y a-t-il une fonction intégrée PHP que j'ai manquée qui fait cela? Ce serait également bien s'il y avait une solution qui tenait compte de plusieurs valeurs identiques, comme ci-dessous:
$pets = array(
"cats" => 1,
"dogs" => 1,
"fish" => 2
);
Ci-dessus, cela ne me dérangerait pas si cela sortait non plus; cats
ou dogs
.
Merci d'avance.
array_keys
est votre ami:
$pets = array(
"cats" => 1,
"dogs" => 2,
"fish" => 3
);
array_keys($pets, min($pets)); # array('cats')
PS : il y a un dup ici quelque part sur SO (il y avait max
au lieu de min
, mais je m'en souviens très bien).
Voilà comment je l'ai fait.
$pets = array(
"cats" => 1,
"dogs" => 2,
"fish" => 3
);
array_search(min($pets), $pets);
J'espère que ça aide
$min_val = null;
$min_key = null;
foreach($pets as $pet => $val) {
if ($val < $min_val) {
$min_val = $min;
$min_key = $key;
}
}
Vous pouvez également retourner le tableau et le trier par clé:
$flipped = array_flip($pets);
ksort($flipped);
Ensuite, la première clé est le minimum et sa valeur est la clé du tableau d'origine.
Pourrait essayer de les examiner: