Bagaimana untuk mencari nilai terkecil dalam tatasusunan yang tidak kurang daripada nilai yang diberikan dalam PHP

PHPz
Lepaskan: 2023-04-06 12:18:01
asal
718 orang telah melayarinya

PHP menyediakan beberapa fungsi berguna untuk mencari nilai terkecil dalam tatasusunan yang tidak kurang daripada nilai tertentu. Dalam artikel ini, kita akan melihat menggunakan fungsi terbina dalam PHP untuk mencari nilai terkecil dalam tatasusunan yang tidak kurang daripada nilai tertentu, dan cara lain yang boleh kita lakukan dengan menulis fungsi kita sendiri.

1. Gunakan fungsi terbina dalam PHP

PHP menyediakan beberapa fungsi terbina dalam untuk mencari nilai minimum dalam tatasusunan yang tidak kurang daripada nilai yang ditentukan:

  1. min(): Cari nilai minimum dalam tatasusunan
  2. array_filter(): Tapis tatasusunan menggunakan fungsi panggil balik yang berasingan
  3. array_reduce(): Lelaran ke atas tatasusunan menggunakan fungsi panggil balik dan mengembalikan nilai

Di bawah kami akan menerangkan penggunaan fungsi ini dan pelaksanaannya dengan lebih terperinci.

1. Fungsi min()

Fungsi min() boleh mencari nilai minimum dalam tatasusunan. Hanya lulus tatasusunan sebagai parameter seperti yang ditunjukkan di bawah:

<?php 
$arr = array(3, 7, 1, 8, 2, 9, 4, 6, 5); 
$minValue = min($arr); 
echo "The minimum value in the array is: " . $minValue; 
?>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi min() untuk mencari nilai minimum dalam tatasusunan $arr dan menyimpan hasilnya dalam $ dalam pembolehubah minValue . Akhirnya, kami mengeluarkan nilai minimum yang ditemui.

Jika kita ingin mencari nilai minimum dalam tatasusunan yang tidak kurang daripada nilai tertentu, kita hanya perlu menapis tatasusunan menggunakan fungsi array_filter() dan kemudian gunakan fungsi min() untuk mencari nilai minimum, seperti yang ditunjukkan di bawah:

<?php 
$arr = array(3, 7, 1, 8, 2, 9, 4, 6, 5); 
$value = 5; 
$filteredArray = array_filter($arr, function($element) use($value){ 
    return $element >= $value; 
}); 
$minValue = min($filteredArray); 
echo "The minimum value in the array that is not less than $value is: " . $minValue; 
?>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi array_filter() untuk menapis tatasusunan dalam bentuk fungsi tanpa nama, yang akan mengembalikan semua elemen yang tidak kurang daripada 5. Kemudian, kami menggunakan fungsi min() untuk mencari nilai minimum dalam tatasusunan $filteredArray dan mengeluarkan hasilnya.

2. Fungsi array_reduce()

array_reduce() fungsi digunakan untuk mengulang tatasusunan melalui fungsi panggil balik dan mengembalikan nilai. Kita boleh menggunakan fungsi array_reduce() untuk melaksanakan algoritma berasaskan tatasusunan untuk mencari nilai minimum. Berikut ialah contoh menggunakan fungsi array_reduce() untuk mencari nilai minimum dalam tatasusunan yang tidak kurang daripada nilai yang diberikan, serupa dengan contoh di atas:

<?php 
$arr = array(3, 7, 1, 8, 2, 9, 4, 6, 5); 
$value = 5; 
$filteredArray = array_filter($arr, function($element) use($value){ 
    return $element >= $value; 
}); 
$minValue = array_reduce($filteredArray, function($accumulator, $element){ 
    if ($accumulator === null || $element < $accumulator) {
        return $element; 
    }
    return $accumulator;
}, null); 
echo "The minimum value in the array that is not less than $value is: " . $minValue; 
?>
Salin selepas log masuk

Dalam kod di atas, kami gunakan fungsi tanpa nama untuk Menapis tatasusunan dan gunakan fungsi array_reduce() untuk mengulangi tatasusunan yang ditapis. Fungsi tanpa nama ini digunakan semasa lelaran untuk membandingkan nilai minimum yang ditemui sebelum ini dan mengembalikan nilai minimum baharu.

2. Selesaikan masalah dengan menulis fungsi anda sendiri

Kita juga boleh menulis fungsi kita sendiri untuk mencari nilai minimum dalam tatasusunan yang tidak kurang daripada nilai yang diberikan. Idea teras kedua-dua kaedah adalah untuk mengulangi tatasusunan dan membandingkan setiap elemen untuk menentukan sama ada syarat dipenuhi. Di bawah ini kami akan memperkenalkan dua kaedah:

1 Gunakan gelung foreach untuk melaksanakan

Kita boleh menggunakan gelung foreach untuk melintasi tatasusunan dan menggunakan pembolehubah untuk menjejaki nilai minimum, seperti yang ditunjukkan di bawah: <.>

<?php 
function findMinValue($arr, $value){ 
    $minValue = null;
    foreach($arr as $element) {
        if ($element >= $value && ($minValue === null || $element < $minValue)) { 
            $minValue = $element; 
        }
    }
    return $minValue; 
}
?>
Salin selepas log masuk
Dalam kod di atas, kami mentakrifkan fungsi yang dipanggil findMinValue() untuk mencari nilai minimum dalam tatasusunan yang tidak kurang daripada nilai yang diberikan. Dalam gelung foreach, kami menggunakan pernyataan if untuk membandingkan setiap elemen dan mengemas kini pembolehubah yang mengandungi elemen terkecil.

2. Gunakan gelung sementara untuk melaksanakan

Cara lain untuk mencari nilai minimum yang tidak kurang daripada nilai yang ditentukan ialah menggunakan gelung sementara, seperti yang ditunjukkan di bawah:

<?php 
function findMinValue($arr, $value){ 
    $i = 0;
    $n = count($arr); 
    $minValue = null; 
    while($i < $n) {
        if ($arr[$i] >= $value && ($minValue === null || $arr[$i] < $minValue)) { 
            $minValue = $arr[$i]; 
        }
        ++$i;
    }
    return $minValue; 
}
?>
Salin selepas log masuk
Dengan Tidak seperti contoh sebelumnya, contoh ini menggunakan gelung sementara untuk melelaran melalui semua elemen dalam tatasusunan dan mengemas kini pembolehubah yang mengandungi elemen terkecil.

Kesimpulan

Dalam artikel ini, kami memperkenalkan beberapa cara untuk mencari nilai terkecil dalam tatasusunan yang tidak kurang daripada nilai tertentu dalam PHP. Kita boleh menggunakan fungsi terbina dalam PHP min(), array_filter() atau array_reduce() atau kita boleh menulis fungsi kita sendiri seperti menggunakan gelung foreach atau while. Ringkasnya, semasa menulis aplikasi PHP, mencari nilai terkecil dalam tatasusunan yang tidak kurang daripada nilai yang ditentukan mungkin merupakan aktiviti biasa, dan kita boleh menggunakan mana-mana kaedah di atas untuk mencapainya.

Atas ialah kandungan terperinci Bagaimana untuk mencari nilai terkecil dalam tatasusunan yang tidak kurang daripada nilai yang diberikan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!