Optimieren von PHP-Code: 8 Funktionen, die man für die effiziente Manipulation von Tabellen kennen sollte

· Imen Ezzine · 3 Minuten zum Lesen
Blue ElePHPant on a computer

Um ein hervorragender PHP-Entwickler zu werden, muss man den Umgang mit Tabellen perfekt beherrschen. Diese Strukturen sind in PHP unverzichtbar, sei es, um Daten zwischenzuspeichern, zu organisieren oder zu bearbeiten, bevor sie in einer Datenbank gespeichert werden. Wenn du ihre Funktionsweise beherrschst, wirst du in der Lage sein, deine Informationen effizienter und optimierter zu verwalten und zu manipulieren.

In diesem Artikel sehen wir uns acht wichtige Funktionen an, um effizient mit Arrays in PHP zu arbeiten. Sie werden dir helfen, deinen Code zu optimieren und komplexe Probleme einfacher zu lösen.

1. array_map

Die Funktion array_map wendet eine bestimmte Funktion auf jedes Element eines oder mehrerer Arrays an und gibt ein Array zurück, das die Ergebnisse enthält. Zu beachten ist, dass die Schlüssel der ursprünglichen Arrays nicht betroffen sind: Sie bleiben im resultierenden Array erhalten, auch wenn die Werte geändert werden.

Beispiel:

$numbers = [1, 2, 3, 4];
$squaredNumbers = array_map(function($n) {
  return $n * $n;
}, $numbers);

print_r($squaredNumbers); 
// Résultat : [1, 4, 9, 16]

💡 Tipp: Wenn du kein neues Array erstellen, sondern nur das bestehende Array verändern möchtest, kannst du array_walk verwenden. array_walk wendet eine Funktion auf jedes Element des Arrays an, verändert das Array aber direkt, ohne es zurückzugeben. Dies kann in einigen Fällen effizienter sein.

Beispiel mit array_walk:

$numbers = [1, 2, 3, 4];
array_walk($numbers, function(&$n) {
    $n *= $n;
});
print_r($numbers);
// Résultat : [1, 4, 9, 16]

Wie du sehen kannst, ändert array_walk direkt das Array $numbers, ohne ein neues zu erstellen.

2. array_reduce

Die Funktion array_reduce wird verwendet, um ein Array auf einen einzigen kumulativen Wert zu reduzieren, indem eine Callback-Funktion auf seine Elemente angewendet wird. Dieser „Wert“ kann jedoch von beliebigem Typ sein, einschließlich eines Arrays, eines Strings oder eines Objekts, je nach der im Callback definierten Logik.

Beispiel:

$numbers = [1, 2, 3, 4];
$sum = array_reduce($numbers, function($carry, $item) {
. return $carry + $item;
}, 0);

echo $sum; 
// Résultat : 10

3. array_filter

Die Funktion array_filter filtert die Elemente eines Arrays mit Hilfe einer Callback-Funktion. Nur die Elemente, für die die Callback-Funktion True zurückgibt, werden in das zurückgegebene Array aufgenommen. Wichtig ist, dass die Callback-Funktion auch den Schlüssel jedes Elements annehmen kann, so dass nicht nur nach dem Wert, sondern auch nach dem Schlüssel gefiltert werden kann.

Weitere Informationen finden sich in der offiziellen Dokumentation zu array_filter mit mode.

Beispiel:

$numbers = [1, 2, 3, 4, 5];
$evenNumbers = array_filter($numbers, function($n) {
. return $n % 2 === 0;
});

print_r($evenNumbers); 
// Résultat : [2, 4]

4. array_merge

Die Funktion array_merge fasst ein oder mehrere Arrays zu einem einzigen Array zusammen. Diese Funktion dient dazu, mehrere Datensätze zusammenzuführen.

Beispiel:

$array1 = ["a" => "pomme", "b" => "banane"];
$array2 = ["a" => "ananas", "c" => "citron"];
$result = array_merge($array1, $array2);

print_r($result);
// Résultat : ["a" => "ananas", "b" => "banane", "c" => "citron"]

5. array_keys

Die Funktion array_keys gibt alle Schlüssel eines Arrays oder die Schlüssel zurück, die einem angegebenen Wert entsprechen. Diese Funktion ist besonders nützlich, um die Indizes von assoziativen Arrays zu erhalten.

Beispiel:

$array = ["a" => "pomme", "b" => "banane", "c" => "citron"];
$keys = array_keys($array);

print_r($keys); 
// Résultat : ["a", "b", "c"]

Um jedoch zu prüfen, ob ein Schlüssel in einem Array existiert, ist es performanter, array_key_exists zu verwenden, anstatt alle Schlüssel mit array_keys zu erhalten und dann in_array zu verwenden. Die Verwendung von array_key_exists ist direkter und vermeidet unnötige Operationen 🚀

$array = ['nom' => 'Jean', 'âge' => 30];

if (array_key_exists('nom', $array)) {
    echo 'La clé "nom" existe dans le tableau';
}

6. array_values

Die Funktion array_values gibt alle Werte eines Arrays zurück. Sie sollte verwendet werden, wenn man aus einem assoziativen Array ein nur mit Integer indiziertes Array erhalten möchte.

Beispiel:

$array = ['a' => 'pomme', 'b' => 'banane', 'c' => 'citron'];

$values = array_values($array);

print_r($values); 

// Résultat : ['pomme', 'banane', 'citron']

7. array_unique

Mit der Funktion array_unique können Sie Duplikate aus einem Array entfernen. Diese Funktion ist nützlich, wenn Sie eine Reihe von eindeutigen Werten erhalten möchten.

Beispiel:

$array = ['pomme', 'banane', 'pomme', 'citron'];
$uniqueArray = array_unique($array);

print_r($uniqueArray); 
// Résultat : ['pomme', 'banane', 'citron']

8. array_combine

Die Funktion array_combine erzeugt ein Array, indem sie zwei verschiedene Arrays kombiniert: eines mit den Schlüsseln und eines mit den Werten. Jedem Schlüssel im ersten Array wird ein entsprechender Wert im zweiten Array zugeordnet. Dies ist nützlich, wenn Sie zwei Datensätze miteinander verknüpfen möchten, z. B. Namen und Alter.

Beispiel:

$keys = ['nom', 'prénom', 'âge'];
$values = ['Dupont', 'Jean', 30];

$resultat = array_combine($keys, $values);

print_r($resultat);
// Résultat :
// Array
// (
//     [nom] => Dupont
//     [prénom] => Jean
//     [âge] => 30
// )

Abschluss

Der Umgang mit Arrays ist eine grundlegende Fähigkeit für jeden PHP-Entwickler. Wenn du diese Funktionen beherrschst, bist du in der Lage, Daten effizienter zu manipulieren und sauberen, wartbaren Code zu schreiben. Ob du nun Arrays transformierst, filterst, zusammenführst oder verkleinerst, diese Werkzeuge sind unverzichtbar, um die alltäglichen Probleme zu lösen, denen du in deinen Projekten begegnest. Nimm dir die Zeit, ihre Funktionsweise zu verstehen und sie in deine Entwickler-Toolbox aufzunehmen.

Um mehr über die Funktionen von Arrays zu erfahren und deine PHP-Kenntnisse zu erweitern, kannst du die offizielle Dokumentation auf der PHP-Website lesen: https://www.php.net/manual/en/ref.array.php. Dort findest du eine vollständige Liste aller Funktionen, die für die Manipulation und Transformation von Arrays zur Verfügung stehen, mit Beispielen und ausführlichen Erklärungen.

Brauchst du die Hilfe eines Experten, um deinen PHP-Code zu optimieren?

Die Experten von SensioLabs, dem Hersteller von Symfony, dem führenden PHP-Framework, helfen dir dabei, deinen PHP-Code zu verbessern.

Das könnte dich auch interessieren

PHP 8.5 URI extension
Oskar Stark

PHP 8.5's neue URI-Erweiterung: Ein Game-Changer für URL-Parsing

PHP 8.5 führt eine leistungsstarke neue URI-Erweiterung ein, die die URL-Verarbeitung modernisiert. Mit Unterstützung für RFC 3986 und WHATWG-Standards bietet die neue Uri-Klasse unveränderliche Objekte, fluent Interfaces und korrekte Validierung - und behebt alle Einschränkungen der veralteten parse_url()-Funktion. Dieser Leitfaden zeigt praktische Vorher/Nachher-Beispiele und erklärt, wann welcher Standard zu verwenden ist.

Mehr erfahren
Open in new tab
Silas Joisten

Die Tab-Falle: Warum das Erzwingen neuer Tabs eine schlechte UX ist

Wir haben es alle schon getan — target="_blank" zu einem Link hinzugefügt, um „Benutzern zu helfen", auf unserer Website zu bleiben. Aber was sich wie eine harmlose Bequemlichkeit anfühlt, führt oft zu Verwirrung, beeinträchtigt die Barrierefreiheit und birgt versteckte Sicherheitsrisiken.

Mehr erfahren
3 dog heads
Mathieu Santostefano

Lass die Nutzer des SDK ihren eigenen HTTP-Client nutzen

Befreie dich von starren Abhängigkeiten in deinen PHP-SDKs. Erfahre, wie du die Standards PSR-7, PSR-17 und PSR-18 zusammen mit PHP-HTTP/Discovery nutzt, um deinen Benutzern die Verwendung ihres bevorzugten HTTP-Clients zu ermöglichen – sei es Guzzle, Symfony HttpClient oder ein anderes Tool. Ein Muss für PHP- und Symfony-Entwickler.

Mehr erfahren
Blue sign on a building with several Now What? letters
Thibaut Chieux

Wie man Nachrichten beim Aufbau asynchroner Anwendungen mit dem Symfony-Messenger priorisiert

Die asynchrone Verarbeitung bietet Vorteile wie entkoppelte Prozesse und schnellere Reaktionszeiten. Die Verwaltung von Nachrichtenprioritäten kann jedoch zu einer Herausforderung werden. Bei Aufgaben, die vom Zurücksetzen von Passwörtern bis hin zu komplexen Exporten reichen, ist die rechtzeitige Zustellung kritischer Nachrichten unerlässlich. Dieser Artikel befasst sich mit häufigen Problemen bei der asynchronen Verarbeitung und zeigt Lösungen mit Symfony Messenger auf, mit denen Sie Ihre Anwendung ohne umfangreiches Refactoring optimieren können.

Mehr erfahren
PHP 8.5
Oskar Stark

Was ist neu in PHP 8.5: Ein umfassender Überblick

PHP 8.5 wird im November 2025 veröffentlicht und bringt mehrere nützliche neue Features und Verbesserungen mit sich. Diese Version konzentriert sich auf die Verbesserung der Developer Experience, neue Utility-Funktionen und bessere Debugging-Möglichkeiten.

Mehr erfahren
Two images: on the left many cars stuck in a traffic jam with the sign "All directions" above, on the right a blue car moving forward alone on the highway with the sign "Service Subscriber" and a Symfony logo above
Steven Renaux

Symfony Lazy Services mit Stil – Steigere deine Entwicklererfahrung mit Service Subscribers

Steigere die Performance und Developer Experience (DX) deiner Symfony-App! Erfahre, wie du Service Subscribers und Traits für das verzögerte Laden von Services verwendest, um die sofortige Instanziierung zu reduzieren, Abhängigkeiten zu vereinfachen und modularen, wartbaren Code zu schreiben.

Mehr erfahren
the surface of the earth seen from the space with city lights forming networks
Imen Ezzine

HTTP-Verben: Der ultimative Leitfaden

Hier erklären wir dir die Grundlagen von GET, POST, PUT, DELETE und mehr. In diesem Artikel erfährst du alles über die Funktionsweise, die Anwendungsmöglichkeiten und die Sicherheitsauswirkungen.

Mehr erfahren
Domain Driven Design practical approach
Silas Joisten

Anwendung von Domain-Driven Design in PHP und Symfony: Ein praktischer Leitfaden

Erfahre anhand praktischer Beispiele, wie du die Prinzipien des Domain-Driven Design (DDD) in Symfony anwendest. Entdecke die Leistungsfähigkeit von Value Objects, Repositories und Bounded Contexts.

Mehr erfahren
Photo speaker meetup AI Symfony
Jules Daunay

Symfony und AI: das Video ist jetzt verfügbar

Was ist mit Symfony und Artificial Intelligence (AI)? Dies war das Thema der exklusiven Veranstaltung, die von SensioLabs in Zusammenarbeit mit Codéin am 3. Oktober organisiert wurde. Mit dem zusätzlichen Bonus des Feedbacks aus einem Entwicklungsprojekt, das Symfony und AI kombiniert. Falls du die Veranstaltung verpasst hast, schau dir das Video an, das jetzt kostenlos auf unserem Youtube-Kanal verfügbar ist.

Mehr erfahren
2025 a year of celebrations for PHP with windows about API Platform, PHP, AFUP and Symfony
Jules Daunay

2025: Das Jahr der Jubiläen für PHP, AFUP, Symfony und API Platform

2025 wird ein großes Jubiläumsjahr. Wir feiern 20 Jahre Symfony, 30 Jahre PHP, 25 Jahre AFUP und 10 Jahre API Platform. Für SensioLabs ist dies ein wichtiger Meilenstein, der die Langlebigkeit der Technologien in unserem Ökosystem beweist. Wir sind stolz darauf, diese Jubiläen das ganze Jahr über mit der Community zu feiern.

Mehr erfahren
Grey Cargo Plane with a Blue Sky
Rémi Brière

Agilität und der Cargo-Kult - Teil 1

Agilität ist mehr als nur Rituale und Tools. In diesem ersten Artikel unserer Scrum-Serie untersuchen wir das Phänomen des Cargo-Kults und wie blinde Nachahmung eine echte agile Transformation behindern kann.

Mehr erfahren
SemVer vs. CalVer
Silas Joisten

SemVer vs. CalVer: Welche Versionierungsstrategie ist die richtige für dich?

SemVer sorgt für Stabilität in Bibliotheken, während CalVer Projekte an Veröffentlichungszyklen anpasst. Erfahre die wichtigsten Unterschiede und besten Anwendungsfälle, um deine Versionierungsstrategie zu optimieren.

Mehr erfahren
Image of a desk with a laptop and monitor
Oskar Stark

Einführung in PIE: Der moderne PHP Extension Installer

Entdecken Sie PIE, den neuen PHP Installer für Extensions, der die Verwaltung von PHP-Erweiterungen mit einem modernen, Composer-ähnlichen Workflow vereinfacht. Verabschieden Sie sich von PECL-Komplexitäten und optimieren Sie Ihren Entwicklungsprozess mit PIE.

Mehr erfahren
DDD
Silas Joisten

Verständnis von Domain-Driven Design: Ein praktischer Ansatz für moderne Softwarearchitektur

Entdecke die Prinzipien und Muster von Domain-Driven Design (DDD) wie Ubiquitous Language, Aggregates und Bounded Contexts. Erfahre, wie DDD nahtlos in PHP- und Symfony-Projekte passt und dir hilft, Software mit den Geschäftsanforderungen in Einklang zu bringen.

Mehr erfahren
SymfonyLive 2024
Jules Daunay

SymfonyLive Paris 2024: Zwei Tage Konferenz und Spaß

Am 28. und 29. März versammelten sich das SensioLabs-Team und die französischsprachige Symfony-Community an der Cité Internationale Universitaire in Paris zur SymfonyLive Paris 2024.

Mehr erfahren
Image