Arrays sortieren und durchsuchen
Verwenden Sie sort, usort, array_search und in_array.
Arrays sortieren und durchsuchen ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum sortieren?
PHP bietet eine umfangreiche Auswahl an Sortier- und Suchfunktionen für Arrays. Wählen Sie die passende Funktion danach aus, ob Schlüssel erhalten bleiben sollen, ob nach Wert oder Schlüssel sortiert werden soll oder ob Sie einen eigenen Vergleichsoperator verwenden möchten.
sort() und rsort()
sort() sortiert aufsteigend nach Wert (und indiziert neu); rsort() sortiert absteigend:
<?php
$nums = [3, 1, 4, 1, 5, 9, 2, 6];
sort($nums);
print_r($nums); // [1, 1, 2, 3, 4, 5, 6, 9]
$letters = ['c', 'a', 'b'];
rsort($letters);
print_r($letters); // ['c', 'b', 'a']asort() und arsort()
asort() sortiert nach Wert und behält die Schlüssel bei – nützlich für assoziative Arrays:
<?php
$scores = ['Alice' => 85, 'Bob' => 92, 'Carol' => 78];
asort($scores);
print_r($scores);
// ['Carol'=>78, 'Alice'=>85, 'Bob'=>92]ksort() und krsort()
ksort() sortiert aufsteigend nach Schlüsseln; krsort() absteigend:
<?php
$data = ['banana' => 2, 'apple' => 5, 'cherry' => 1];
ksort($data);
print_r($data);
// ['apple'=>5, 'banana'=>2, 'cherry'=>1]usort() – eigener Vergleichsoperator
usort() sortiert mit einer benutzerdefinierten Vergleichsfunktion:
<?php
$people = [
['name' => 'Charlie', 'age' => 25],
['name' => 'Alice', 'age' => 30],
['name' => 'Bob', 'age' => 20],
];
usort($people, fn($a, $b) => $a['age'] <=> $b['age']);
foreach ($people as $p) echo $p['name'] . ' '; // Bob Charlie Alicein_array() – Suche nach Werten
in_array() prüft, ob ein Wert in einem Array vorhanden ist:
<?php
$tags = ['php', 'mysql', 'nginx'];
var_dump(in_array('php', $tags)); // true
var_dump(in_array('apache', $tags)); // false
// Third argument = strict mode (uses ===)
var_dump(in_array('1', [1, 2, 3], true)); // false (type mismatch)array_search() – Schlüssel zurückgeben
array_search() gibt den Schlüssel des ersten passenden Werts oder false zurück:
<?php
$colors = ['red', 'green', 'blue'];
$key = array_search('green', $colors);
echo $key; // 1
$notFound = array_search('purple', $colors);
var_dump($notFound); // bool(false)array_unique()
Entfernen Sie doppelte Werte aus einem Array:
<?php
$ids = [1, 2, 2, 3, 3, 3, 4];
$unique = array_unique($ids);
print_r($unique); // [1, 2, 3, 4] — keys preserved!
$reindexed = array_values($unique); // re-index to 0,1,2,3array_flip()
Vertauschen Sie Schlüssel und Werte in einem assoziativen Array:
<?php
$map = ['a' => 1, 'b' => 2, 'c' => 3];
$flipped = array_flip($map);
print_r($flipped); // [1=>'a', 2=>'b', 3=>'c']
// Useful for O(1) lookup by value
$exists = isset($flipped[2]); // truearray_diff() und array_intersect()
Vergleichen Sie Arrays, um Unterschiede und Überschneidungen zu ermitteln:
<?php
$a = [1, 2, 3, 4, 5];
$b = [3, 4, 5, 6, 7];
$diff = array_diff($a, $b); // [1, 2] — in a but not b
$inter = array_intersect($a, $b); // [3, 4, 5] — in both
print_r($diff);
print_r($inter);Binäre Suche mit eigener Logik
PHP verfügt über keine integrierte binäre Suche. Sie können jedoch eine eigene implementieren oder sortierte Schlüssel für schnelle Suchvorgänge verwenden:
<?php
function binarySearch(array $arr, int $target): int {
$lo = 0;
$hi = count($arr) - 1;
while ($lo <= $hi) {
$mid = intdiv($lo + $hi, 2);
if ($arr[$mid] === $target) return $mid;
$arr[$mid] < $target ? $lo = $mid + 1 : $hi = $mid - 1;
}
return -1;
}
echo binarySearch([1,3,5,7,9], 7); // 3Kurze Überprüfung
Welche PHP-Funktion gibt den Schlüssel eines passenden Werts in einem Array zurück?
Zusammenfassung: Sortieren und Suchen
Wichtige Funktionen:
sort/rsort– nach Wert, neu indizierenasort/arsort– nach Wert, Schlüssel beibehaltenksort/krsort– nach Schlüsselusort– eigener Vergleichsoperatorin_array– prüfen, ob ein Wert vorhanden istarray_search– Wert in Schlüssel umwandelnarray_unique/array_flip/array_diff/array_intersect
Häufig gestellte Fragen
Ist die Lektion „Arrays sortieren und durchsuchen“ kostenlos?
Ja — der vollständige Text von „Arrays sortieren und durchsuchen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Arrays sortieren und durchsuchen“?
Verwenden Sie sort, usort, array_search und in_array. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Arrays sortieren und durchsuchen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Indizierte und assoziative Arrays
- Mehrdimensionale Arrays
- Arrays sortieren und durchsuchen
- Funktionen zur Array-Transformation