Heim >Backend-Entwicklung >PHP-Problem >So finden Sie die kleinsten Elemente eines Arrays in PHP

So finden Sie die kleinsten Elemente eines Arrays in PHP

青灯夜游
青灯夜游Original
2022-10-17 19:02:031906Durchsuche

Implementierungsschritte: 1. Verwenden Sie die Funktion asort(), um das Array in aufsteigender Reihenfolge nach Schlüsselwert zu sortieren. Nach dem Sortieren werden die kleinsten Elemente am Anfang des Arrays konzentriert. 2. Verwenden Sie die Funktion array_slice(), um das Array zu sortieren. Schneiden Sie einfach die N kleinsten Elemente vom Anfang des Arrays ab. Die Syntax lautet „array_slice(sortiertes Array, 0, N)“.

So finden Sie die kleinsten Elemente eines Arrays in PHP

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer

In PHP können Sie die Funktionen asort() und array_slice() verwenden, um die kleinsten N Elemente des zu finden Array.

Implementierungsidee:

  • Ordnen Sie das Array neu und sortieren Sie die Array-Elemente in aufsteigender Reihenfolge von klein nach groß. (Auf diese Weise steht das kleinste Element am Anfang des Arrays)

  • Fangen Sie einfach N Array-Elemente direkt vom Array-Kait ab.

Implementierungsschritte:

1. Verwenden Sie die Funktion asort(), um das Array in aufsteigender Reihenfolge nach Schlüsselwert zu sortieren

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array(34,3,-1,-6,42,12,1);
echo "原数组:";
var_dump($arr);
asort($arr);
echo "升序排序后:";
var_dump($arr);
?>

So finden Sie die kleinsten Elemente eines Arrays in PHP

Sie können sehen, dass nach dem Sortieren das kleinste Element ist am Ende des Arrays Am Anfang müssen Sie nur die angegebene Zahl nach Bedarf abfangen.

Schritt 2: Verwenden Sie die Funktion array_slice(), um N Elemente vom Anfang des Arrays abzufangen.

Die Funktion array_slice() ist eine von PHP bereitgestellte Funktion zum Abfangen von Arrays.

Wenn Sie N Elemente vom Anfang des Arrays abfangen möchten Um das Array zu ändern, setzen Sie einfach den zweiten Parameter auf 0 und den dritten Parameter auf die Anzahl der Elemente N.

array_slice(排序后数组,0,N)

example: Holen Sie sich die kleinsten 2, 3 und 4 Elemente des Array

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array(34,3,-1,-6,42,12,1);
echo "原数组:";
var_dump($arr);
asort($arr);
echo "升序排序后:";
var_dump($arr);

echo "获取数组最小的2个元素:";
$result = array_slice($arr,0,2); //截取数组前2位的元素
var_dump($result);

echo "获取数组最小的3个元素:";
$result = array_slice($arr,0,3); //截取数组前3位的元素
var_dump($result);

echo "获取数组最小的4个元素:";
$result = array_slice($arr,0,4); //截取数组前3位的元素
var_dump($result);

?>

So finden Sie die kleinsten Elemente eines Arrays in PHP

teded -Wissens: Funktion Einführung

1, asort () function

asort () Die Funktion sortiert das assoziative Array in aufsteigender Reihenfolge nach den Schlüsselwerten und ändert die Schlüsselnamen im ursprünglichen Array nicht. Die Funktion

asort($array,$sortingtype)

asort() hat zwei Parameter: $array (erforderlich) und $sortingtype (kann weggelassen werden).

Unter anderem wird der Parameter $sortingtype verwendet, um den Sortiermodus der Funktion zu definieren und anzugeben, wie die Elemente/Elemente des Arrays verglichen werden sollen. Der Standardwert ist „SORT_REGULAR“. Der Parameter

$sortingtype kann auf die folgenden Werte gesetzt werden:

  • 0 = SORT_REGULAR: Array-Elemente normal vergleichen, ohne ihren Typ zu ändern (Standardwert);

  • 1 = SORT_NUMERIC: Array-Elemente als Zahlen behandeln ;

  • 2 = SORT_STRING: Array-Elemente als Strings behandeln;

  • 3 = SORT_LOCALE_STRING: Array-Elemente basierend auf dem aktuellen Gebietsschema (kann durch setlocale() geändert werden) als Strings vergleichen.

  • 4 = SORT_NATURAL: Ähnlich wie natsort() sortiert es Strings in „natürlicher Reihenfolge“ für jedes Array-Element. Es ist neu in PHP5.4.0.

  • 5 = SORT_FLAG_CASE: Kann mit SORT_STRING oder SORT_NATURAL (OR-Bit-Operation) kombiniert werden, Sortierzeichenfolge ohne Berücksichtigung der Groß- und Kleinschreibung.

2. array_slice()-Funktion

array_slice()-Funktion kann ein Fragment aus einem Array extrahieren

array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )

Parameterbeschreibung:

  • arr stellt das abzufangende Array dar.
  • start stellt die Startposition (Index) des Abfangens dar:
    • Wenn start eine positive Zahl ist, wird von vorne nach hinten abgefangen.
    • Wenn start eine negative Zahl ist, beginnen Sie an der Position -starten Sie am Ende von arr und fangen Sie von hinten nach vorne ab. Beispielsweise bedeutet -2, dass mit dem vorletzten Element des Arrays begonnen wird.
  • length ist ein optionaler Parameter, der die Abfanglänge angibt:
    • Wenn die Länge eine positive Zahl ist, gibt sie die Anzahl der abgefangenen Elemente an;
    • Wenn die Länge eine negative Zahl ist, endet das abgefangene Fragment an einer Position Länge vom Ende des Arrays ;
    • Wenn weggelassen, wird es von der Startposition bis zum Ende des Arrays abgefangen.
  • preserve_keys ist ein optionaler Parameter, der angibt, ob die ursprünglichen Schlüsselnamen beibehalten werden sollen. Der Standardwert ist „false“, das heißt, wenn er auf „true“ gesetzt ist, werden die ursprünglichen Schlüsselnamen beibehalten.

Hinweis: Die Funktion array_slice() ändert das ursprüngliche Array nicht. Beispiel 1: Parameter $start zeigt an ob Den ursprünglichen Schlüsselnamen beibehalten Der Standardwert ist falsch, was bedeutet, dass er nicht beibehalten wird. Wenn er auf true gesetzt ist, wird der ursprüngliche Schlüsselname beibehalten.

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,2);
var_dump($result);

$result = array_slice($arr,-2);
var_dump($result);
?>

So finden Sie die kleinsten Elemente eines Arrays in PHPEmpfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo finden Sie die kleinsten Elemente eines Arrays in PHP. 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