Maison  >  Article  >  développement back-end  >  Comment trouver efficacement les valeurs minimales et maximales dans un tableau PHP multidimensionnel ?

Comment trouver efficacement les valeurs minimales et maximales dans un tableau PHP multidimensionnel ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-26 18:01:30883parcourir

How to Efficiently Find Minimum and Maximum Values in a Multidimensional PHP Array?

Recherche de valeurs minimales et maximales dans un tableau PHP multidimensionnel

Vous disposez d'un tableau avec plusieurs sous-tableaux contenant des paires clé-valeur. Votre objectif est d'extraire les valeurs minimales et maximales pour une clé spécifique, dans ce cas, « Poids ».

Option 1 : Utiliser les fonctions de tableau

Pour obtenir le liste des poids sans le reste des détails, utilisez array_column :

<code class="php">$weights = array_column($array, 'Weight');</code>

Ensuite, déterminez les poids minimum et maximum :

<code class="php">$min_value = min($weights);
$max_value = max($weights);</code>

Option 2 : Réduction du tableau

Au lieu de convertir le tableau en un tableau de poids, vous pouvez effectuer le calcul min/max directement à l'aide de array_reduce :

<code class="php">$min_value = array_reduce($array, function($min, $details) {
  return min($min, $details['Weight']);
}, PHP_INT_MAX);

$max_value = array_reduce($array, function($max, $details) {
  return max($max, $details['Weight']);
}, PHP_INT_MIN);</code>

Cette approche parcourt chaque sous-tableau pour trouver le minimum global ou poids maximum.

Option 3 : Parcourir les sous-tableaux

Si vous ne disposez pas des fonctions de tableau mentionnées précédemment, vous pouvez parcourir manuellement les sous-tableaux et suivre le valeurs minimales et maximales :

<code class="php">$min_value = PHP_INT_MAX;
$max_value = PHP_INT_MIN;

foreach ($array as $subarray) {
  $min_value = min($min_value, $subarray['Weight']);
  $max_value = max($max_value, $subarray['Weight']);
}</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn