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.
PHP menyediakan beberapa fungsi terbina dalam untuk mencari nilai minimum dalam tatasusunan yang tidak kurang daripada nilai yang ditentukan:
Di bawah kami akan menerangkan penggunaan fungsi ini dan pelaksanaannya dengan lebih terperinci.
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; ?>
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; ?>
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.
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; ?>
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.
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:
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; } ?>
<?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; } ?>
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!