Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Mencari Nilai Minimum dan Maksimum dengan Cekap dalam Tatasusunan PHP Berbilang Dimensi?

Bagaimana Mencari Nilai Minimum dan Maksimum dengan Cekap dalam Tatasusunan PHP Berbilang Dimensi?

Patricia Arquette
Patricia Arquetteasal
2024-10-26 18:01:30964semak imbas

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

Mencari Nilai Minimum dan Maksimum dalam Tatasusunan PHP Berbilang Dimensi

Anda mempunyai tatasusunan dengan berbilang subarray yang mengandungi pasangan nilai kunci. Matlamat anda adalah untuk mengekstrak nilai minimum dan maksimum untuk kunci tertentu, dalam kes ini, 'Berat'.

Pilihan 1: Menggunakan Fungsi Tatasusunan

Untuk mendapatkan senarai pemberat tanpa butiran yang lain, gunakan lajur_tatasusunan:

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

Kemudian, tentukan berat minimum dan maksimum:

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

Pilihan 2: Pengurangan Tatasusunan

Daripada menukar tatasusunan kepada tatasusunan pemberat, anda boleh melakukan pengiraan min/maks secara terus menggunakan 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>

Pendekatan ini berulang pada setiap subarray untuk mencari minimum keseluruhan atau berat maksimum.

Pilihan 3: Menggulung Melalui Subarray

Jika anda tidak mempunyai fungsi tatasusunan yang dinyatakan sebelum ini, anda boleh menggelung secara manual melalui subarray dan menjejaki nilai minimum dan maksimum:

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

Atas ialah kandungan terperinci Bagaimana Mencari Nilai Minimum dan Maksimum dengan Cekap dalam Tatasusunan PHP Berbilang Dimensi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn