Heim >Backend-Entwicklung >PHP-Tutorial >Wie finde ich effizient Minimal- und Maximalwerte in einem mehrdimensionalen PHP-Array?

Wie finde ich effizient Minimal- und Maximalwerte in einem mehrdimensionalen PHP-Array?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-26 18:01:30970Durchsuche

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

Minimal- und Maximalwerte in einem mehrdimensionalen PHP-Array finden

Sie haben ein Array mit mehreren Unterarrays, die Schlüssel-Wert-Paare enthalten. Ihr Ziel besteht darin, die minimalen und maximalen Werte für einen bestimmten Schlüssel zu extrahieren, in diesem Fall „Gewicht“.

Option 1: Verwenden von Array-Funktionen

Um die zu erhalten Liste der Gewichte ohne die restlichen Details, verwenden Sie array_column:

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

Bestimmen Sie dann die minimalen und maximalen Gewichte:

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

Option 2: Array-Reduktion

Anstatt das Array in ein Array von Gewichtungen umzuwandeln, können Sie die Min/Max-Berechnung direkt mit array_reduce durchführen:

<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>

Dieser Ansatz iteriert über jedes Subarray, um das Gesamtminimum zu ermitteln oder maximales Gewicht.

Option 3: Subarrays durchlaufen

Wenn Ihnen die zuvor genannten Array-Funktionen nicht zur Verfügung stehen, können Sie die Subarrays manuell durchlaufen und verfolgen Mindest- und Höchstwerte:

<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>

Das obige ist der detaillierte Inhalt vonWie finde ich effizient Minimal- und Maximalwerte in einem mehrdimensionalen PHP-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn