Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Fungsi asli PHP merealisasikan nilai maksimum dalam tatasusunan

Fungsi asli PHP merealisasikan nilai maksimum dalam tatasusunan

WBOY
WBOYasal
2023-05-07 16:27:08391semak imbas

Dalam pengaturcaraan PHP, tatasusunan ialah jenis data yang sangat biasa. Dalam sesetengah kes kita perlu mencari nilai maksimum atau minimum dalam tatasusunan. Walaupun PHP telah menyediakan satu siri fungsi untuk menyelesaikan tugas ini, seperti fungsi max() dan min(). Walau bagaimanapun, dalam beberapa kes tertentu, fungsi asli perlu digunakan untuk menyelesaikan tugas ini.

Artikel ini akan memperkenalkan cara menggunakan fungsi asli PHP untuk mencari nilai maksimum dalam tatasusunan.

  1. Fungsi asli

Pertama, kita perlu memahami dua fungsi asli: array_shift() dan array_reduce(). Kedua-dua fungsi ini sangat biasa digunakan dalam PHP.

a. array_shift()

Fungsi array_shift() digunakan untuk mengalih keluar elemen pertama daripada tatasusunan dan memadamkan elemen pertama daripada tatasusunan asal. Sintaksnya adalah seperti berikut:

mixed array_shift ( array &$array )

Penerangan parameter input:

$array: tatasusunan yang akan dikendalikan.

Perihalan nilai pulangan:

Elemen pertama dikeluarkan, jika tatasusunan kosong, NULL dikembalikan.

Contohnya:

$array = [1, 2, 3, 4, 5];
$first_element = array_shift($array);  // $first_element = 1

Selepas pelaksanaan, tatasusunan asal menjadi:

$array = [2, 3, 4, 5];

b array_reduce()

array_reduce() fungsi digunakan untuk lelaran. tatasusunan dan kumpulkan elemennya melalui fungsi panggil balik. Sintaksnya adalah seperti berikut:

mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )

Penerangan parameter input:

$array: tatasusunan yang perlu diulang.

$callback: Fungsi panggil balik digunakan untuk mengumpul setiap elemen.

$initial: Pilihan, dihantar masuk sebagai parameter pertama fungsi panggil balik.

Perihalan nilai pulangan:

Hasil pengiraan selepas fungsi panggil balik digunakan pada semua elemen.

Contohnya:

$array = [1, 2, 3, 4, 5];
$sum = array_reduce($array, function($carry, $item) {
    return $carry + $item;
}, 0);  // $sum = 15
  1. Proses pelaksanaan

Sekarang kita telah memahami fungsi asli, kita boleh menggunakan fungsi ini untuk mencari nilai maksimum dalam sebuah tatasusunan. Proses khusus adalah seperti berikut:

a Mulakan pembolehubah $max ke elemen pertama tatasusunan

Gunakan fungsi array_shift() untuk mengeluarkan elemen pertama tatasusunan sebagai. Pembolehubah $max, supaya kita boleh Gunakan pembolehubah ini sebagai nilai maksimum awal.

$max = array_shift($array);

b. Lelaran tatasusunan melalui fungsi array_reduce() dan cari nilai maksimum

Kita boleh menggunakan fungsi array_reduce() untuk mengulang tatasusunan dan membandingkan setiap elemen dengan pembolehubah $max , jika Jika elemen lebih besar daripada $max, kemas kini $max kepada elemen itu. Akhir sekali, $max dikembalikan sebagai nilai maksimum dalam tatasusunan.

$max = array_reduce($array, function($carry, $item) {
    if ($item > $carry) {
        return $item;
    }
    return $carry;
}, $max);

c. Kod lengkap

Untuk memahami proses di atas dengan lebih jelas, berikut ialah contoh kod lengkap:

  1. Ringkasan

Dalam pengaturcaraan PHP, kami biasanya menggunakan fungsi terbina dalam max() dan min() untuk mencari nilai maksimum dan minimum tatasusunan. Walau bagaimanapun, dalam beberapa kes fungsi ini mungkin bukan penyelesaian yang optimum. Artikel ini memperkenalkan penggunaan fungsi asli PHP array_shift() dan array_reduce() untuk mencari nilai maksimum tatasusunan. Fungsi ini adalah alat yang sangat berkuasa yang membolehkan kami menyelesaikan masalah dengan lebih fleksibel.

Atas ialah kandungan terperinci Fungsi asli PHP merealisasikan nilai maksimum dalam tatasusunan. 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