首頁  >  文章  >  後端開發  >  如何有效率地找到多維 PHP 數組中的最小值和最大值?

如何有效率地找到多維 PHP 數組中的最小值和最大值?

Patricia Arquette
Patricia Arquette原創
2024-10-26 18:01:30883瀏覽

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

在多維PHP 數組中尋找最小值和最大值

您有一個包含多個包含鍵值對的子數組的數組。您的目標是提取特定鍵的最小值和最大值,在本例中為「權重」。

選項1:使用數組函數

取得沒有其餘詳細資訊的權重列表,使用array_column:

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

然後,確定最小和最大權重:

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

選項2:數組縮減

您可以直接使用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>

此方法迭代每個子數組以找到總體最小值或最大重量。

選項3:循環子數組

如果您沒有前面提到的可用數組函數,您可以手動循環子數組並追蹤最小值和最大值:

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

以上是如何有效率地找到多維 PHP 數組中的最小值和最大值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn