Heim >Backend-Entwicklung >PHP-Problem >So finden Sie den kleinsten Wert in einem Array, der nicht kleiner als ein bestimmter Wert in PHP ist

So finden Sie den kleinsten Wert in einem Array, der nicht kleiner als ein bestimmter Wert in PHP ist

PHPz
PHPzOriginal
2023-04-06 09:14:48838Durchsuche

PHP bietet einige nützliche Funktionen zum Finden des kleinsten Werts in einem Array, der nicht kleiner als ein gegebener Wert ist. In diesem Artikel werden wir uns mit der Verwendung der in PHP integrierten Funktionen befassen, um den kleinsten Wert in einem Array zu finden, der nicht kleiner als ein bestimmter Wert ist, und mit anderen Möglichkeiten, wie wir dies tun können, indem wir unsere eigenen Funktionen schreiben.

1. Integrierte PHP-Funktionen verwenden

PHP bietet mehrere integrierte Funktionen zum Finden des Mindestwerts in einem Array, der nicht kleiner als der angegebene Wert ist:

  1. min(): Finden Sie das Minimum Wert im Array
  2. array_filter(): Filtern Sie das Array mit einer separaten Rückruffunktion
  3. array_reduce(): Verwenden Sie die Rückruffunktion, um über das Array zu iterieren und einen Wert zurückzugeben

Im Folgenden erklären wir die Verwendung dieser Funktionen und deren Umsetzung im Detail.

1. Funktion min()

Funktion min() kann den Mindestwert im Array finden. Übergeben Sie einfach das Array als Parameter wie unten gezeigt:

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

Im obigen Code verwenden wir die Funktion min(), um den Mindestwert im Array $arr zu finden und das Ergebnis in der Variablen $minValue zu speichern. Abschließend geben wir den gefundenen Minimalwert aus.

Wenn wir den Mindestwert im Array finden möchten, der nicht kleiner als ein bestimmter Wert ist, müssen wir das Array nur mit der Funktion array_filter() filtern und dann die Funktion min() verwenden, um den Mindestwert wie folgt zu finden :

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

im obigen Code verwenden wir die Funktion array_filter(), um das Array in Form einer anonymen Funktion zu filtern. Die anonyme Funktion gibt alle Elemente zurück, die nicht kleiner als 5 sind. Dann verwenden wir die Funktion min(), um den Mindestwert im Array $filteredArray zu finden und das Ergebnis auszugeben.

2. array_reduce()-Funktion

array_reduce()-Funktion wird verwendet, um das Array durch die Callback-Funktion zu iterieren und einen Wert zurückzugeben. Mit der Funktion array_reduce() können wir einen Array-basierten Algorithmus zum Ermitteln des Mindestwerts implementieren. Hier ist ein Beispiel für die Verwendung der Funktion array_reduce(), um den kleinsten Wert in einem Array zu finden, der nicht kleiner als ein gegebener Wert ist, ähnlich dem obigen Beispiel:

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

Im obigen Code verwenden wir eine anonyme Funktion, um zu filtern Array und verwenden Sie die Funktion array_reduce(), um das gefilterte Array zu durchlaufen. Diese anonyme Funktion wird während der Iteration verwendet, um den zuvor gefundenen Mindestwert zu vergleichen und einen neuen Mindestwert zurückzugeben.

Zweitens lösen Sie das Problem, indem Sie Ihre eigene Funktion schreiben.

Wir können auch unsere eigene Funktion schreiben, um den Mindestwert im Array zu finden, der nicht kleiner als ein gegebener Wert ist. Die Kernidee beider Methoden besteht darin, das Array zu durchlaufen und jedes Element zu vergleichen, um festzustellen, ob eine Bedingung erfüllt ist. Im Folgenden stellen wir zwei Methoden vor:

1. Verwenden Sie die foreach-Schleife zum Implementieren.

Wir können die foreach-Schleife verwenden, um das Array zu durchlaufen, und eine Variable verwenden, um den Mindestwert zu verfolgen, wie unten gezeigt:

<?php 
function findMinValue($arr, $value){ 
    $minValue = null;
    foreach($arr as $element) {
        if ($element >= $value && ($minValue === null || $element < $minValue)) { 
            $minValue = $element; 
        }
    }
    return $minValue; 
}
?>

Im obigen Code haben wir define Eine Funktion namens findMinValue() wird verwendet, um den kleinsten Wert in einem Array zu finden, der nicht kleiner als ein gegebener Wert ist. In der foreach-Schleife verwenden wir die if-Anweisung, um jedes Element zu vergleichen und die Variable zu aktualisieren, die das kleinste Element enthält.

2. Implementieren Sie die While-Schleife

Eine andere Möglichkeit, den Mindestwert zu finden, der nicht kleiner als ein angegebener Wert ist, ist die Verwendung einer While-Schleife, wie unten gezeigt:

<?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; 
}
?>

Im Gegensatz zum vorherigen Beispiel verwendet dieses Beispiel eine While-Schleife um alle Elemente im Array zu durchlaufen und die Variable zu aktualisieren, die das kleinste Element enthält.

Fazit

In diesem Artikel haben wir verschiedene Möglichkeiten vorgestellt, um den kleinsten Wert in einem Array zu finden, der nicht kleiner als ein bestimmter Wert in PHP ist. Wir können die in PHP integrierten Funktionen min(), array_filter() oder array_reduce() verwenden oder wir können unsere eigenen Funktionen schreiben, z. B. mithilfe einer foreach- oder while-Schleife. Kurz gesagt: Beim Schreiben von PHP-Anwendungen kann das Finden des kleinsten Werts in einem Array, der nicht kleiner als ein angegebener Wert ist, eine häufige Aktivität sein, und wir können jede der oben genannten Methoden verwenden, um dies zu erreichen.

Das obige ist der detaillierte Inhalt vonSo finden Sie den kleinsten Wert in einem Array, der nicht kleiner als ein bestimmter Wert in PHP ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn