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

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

Barbara Streisand
Barbara Streisandoriginal
2024-10-29 06:19:31775parcourir

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

Comment déterminer les valeurs minimales et maximales dans un tableau PHP multidimensionnel

En PHP, extraire les valeurs minimales et maximales d'un tableau est une tâche simple tâche. Pour illustrer cela, considérons l'exemple suivant :

<code class="php">array (0 => 
  array (
    'id' => '20110209172713',
    'Date' => '2011-02-09',
    'Weight' => '200',
  ),
  1 => 
  array (
    'id' => '20110209172747',
    'Date' => '2011-02-09',
    'Weight' => '180',
  ),
  2 => 
  array (
    'id' => '20110209172827',
    'Date' => '2011-02-09',
    'Weight' => '175',
  ),
  3 => 
  array (
    'id' => '20110211204433',
    'Date' => '2011-02-11',
    'Weight' => '195',
  ),
)</code>

Option 1 : Utilisation des fonctions de tableau

Utilisez la fonction array_column() pour extraire les valeurs « Poids » :

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

Ensuite, déterminez les valeurs minimales et maximales :

<code class="php">$minValue = min($weights);
$maxValue = max($weights);</code>

Option 2 : Utilisation des fonctions de tableau et de carte (PHP 5.5 ou supérieur)

Option analogique 1, vous pouvez utiliser array_map() pour effectuer des calculs :

<code class="php">$weights = array_map(function($row) { return $row['Weight']; }, $array);

$minValue = min($weights);
$maxValue = max($weights);</code>

Option 4 : Utilisation de la réduction de tableau pour les calculs minimum ou maximum

Pour plus d'efficacité , utilisez array_reduce() si seule une valeur minimale ou maximale est requise :

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

Le array_reduce() effectue moins d'opérations min(), ce qui le rend potentiellement plus rapide. PHP_INT_MAX représente la valeur initiale élevée pour démarrer la réduction.

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