0Pricing
PHP Academy · Lektion

Funktionen zur Array-Transformation

Wenden Sie array_map, array_filter und array_reduce an.

Funktionen zur Array-Transformation ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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.

Funktionale Array-Transformationen

PHP bietet drei leistungsfähige Funktionen höherer Ordnung, um Arrays ohne ausdrückliche Schleifen zu transformieren:

  • array_map() – jedes Element transformieren
  • array_filter() – Elemente behalten, die eine Prüfung bestehen
  • array_reduce() – auf einen einzelnen Wert reduzieren

array_map()

Wenden Sie ein Callback auf jedes Element an und geben Sie ein neues Array zurück:

<?php
$prices = [10, 20, 30, 40];

$doubled = array_map(fn($p) => $p * 2, $prices);
print_r($doubled); // [20, 40, 60, 80]

// Multiple arrays
$a = [1, 2, 3];
$b = [10, 20, 30];
$sums = array_map(fn($x, $y) => $x + $y, $a, $b);
print_r($sums); // [11, 22, 33]

array_filter()

Behalten Sie Elemente, die eine Prüfung durch ein Callback bestehen. Ohne Callback werden falsy-Werte entfernt:

<?php
$numbers = [1, 2, 3, 4, 5, 6];

$evens = array_filter($numbers, fn($n) => $n % 2 === 0);
print_r($evens); // [1=>2, 3=>4, 5=>6] — keys preserved!

$reindexed = array_values($evens); // re-index

$mixed = [0, 'hello', '', null, false, 42];
print_r(array_filter($mixed)); // [1=>'hello', 5=>42]

array_reduce()

Reduzieren Sie ein Array auf einen einzelnen Wert, indem Sie ein Callback schrittweise anwenden:

<?php
$cart = [
    ['name' => 'Widget', 'price' => 10],
    ['name' => 'Gadget', 'price' => 25],
    ['name' => 'Doohickey', 'price' => 5],
];

$total = array_reduce($cart, fn($carry, $item) => $carry + $item['price'], 0);
echo $total;  // 40

Transformationen verketten

Verketten Sie map, filter und reduce zu ausdrucksstarken Daten-Pipelines:

<?php
$scores = [45, 80, 30, 90, 55, 70];

$passingAvg = array_sum(
    array_filter($scores, fn($s) => $s >= 50)
) / count(array_filter($scores, fn($s) => $s >= 50));

echo $passingAvg;  // 74.75

array_map mit Schlüsseln

array_map übergibt keine Schlüssel. Verwenden Sie array_walk, wenn Sie sowohl Schlüssel als auch Wert benötigen:

<?php
$prices = ['apple' => 1.0, 'banana' => 0.5, 'cherry' => 2.0];

$formatted = [];
array_walk($prices, function($price, $name) use (&$formatted) {
    $formatted[$name] = '$' . number_format($price, 2);
});

print_r($formatted);

array_chunk()

Teilen Sie ein Array in Teil-Arrays einer bestimmten Größe auf:

<?php
$items = range(1, 10);
$batches = array_chunk($items, 3);
print_r($batches);
// [[1,2,3], [4,5,6], [7,8,9], [10]]

array_combine()

Erstellen Sie ein assoziatives Array, indem Sie ein Schlüssel-Array mit einem Werte-Array kombinieren:

<?php
$keys   = ['name', 'age', 'city'];
$values = ['Alice', 30, 'London'];

$person = array_combine($keys, $values);
print_r($person);
// ['name'=>'Alice','age'=>30,'city'=>'London']

array_zip mit array_map

PHP verfügt über keine native Zip-Funktion, aber array_map(null, ...) erzeugt eine zip-ähnliche Struktur:

<?php
$names  = ['Alice', 'Bob'];
$scores = [90, 85];

$zipped = array_map(null, $names, $scores);
print_r($zipped);
// [['Alice', 90], ['Bob', 85]]

array_map bewahrt Schlüssel

Bei einem einzelnen Array bewahrt array_map die Schlüssel. Verwenden Sie array_values, um die Indizes neu zu vergeben:

<?php
$assoc = ['a' => 1, 'b' => 2, 'c' => 3];

$result = array_map(fn($v) => $v * 10, $assoc);
print_r($result);
// ['a'=>10, 'b'=>20, 'c'=>30] — keys preserved

array_sum und array_product

Schnelle Reduktionsfunktionen für numerische Arrays:

<?php
$nums = [1, 2, 3, 4, 5];

echo array_sum($nums);      // 15
echo array_product($nums);  // 120 (1*2*3*4*5)

// Works with floats too
$prices = [1.5, 2.5, 3.0];
echo array_sum($prices);    // 7.0

Kurze Überprüfung

Welche Funktion wendet einen Callback auf jedes Element an und gibt ein neues Array zurück?

Zusammenfassung: Funktionen zur Array-Transformation

Zusammenfassung:

  • array_map() — jedes Element in ein neues Array umwandeln
  • array_filter() — Elemente behalten, die ein Prädikat erfüllen
  • array_reduce() — auf einen einzelnen akkumulierten Wert reduzieren
  • array_chunk() — in Teil-Arrays aufteilen
  • array_combine() — ein assoziatives Array aus Schlüsseln und Werten erstellen
  • array_sum/product() — schnelle numerische Reduktionen

Häufig gestellte Fragen

Ist die Lektion „Funktionen zur Array-Transformation“ kostenlos?

Ja — der vollständige Text von „Funktionen zur Array-Transformation“ 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 „Funktionen zur Array-Transformation“?

Wenden Sie array_map, array_filter und array_reduce an. 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 4 von 4.

Wie lange dauert die Lektion „Funktionen zur Array-Transformation“?

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

  1. Indizierte und assoziative Arrays
  2. Mehrdimensionale Arrays
  3. Arrays sortieren und durchsuchen
  4. Funktionen zur Array-Transformation
← Zurück zu PHP Academy