String-Manipulation

Geschätzte Lektüre: 8 Minuten 431 Ansichten

String-Manipulation bezieht sich auf die Bearbeitung und Veränderung von Zeichenketten (Strings) in PHP. Wenn wir mit Arrays von Strings arbeiten, gibt es spezielle Funktionen und Techniken, die uns helfen, diese effizient zu verarbeiten.

Grundbegriffe

• String: Eine Folge von Zeichen (Buchstaben, Zahlen, Symbole), z.B. „Hallo Welt“
• Array: Eine geordnete Sammlung von Werten, die nummeriert (indiziert) sind
• String-Manipulation: Operationen wie Suchen, Ersetzen, Teilen, Kombinieren von Strings

Arrays von Strings erstellen

Bevor wir manipulieren können, müssen wir Arrays mit Strings erstellen:

// Einfaches Array von Strings
$farben = ["rot", "grün", "blau", "gelb"];

// Assoziatives Array (Schlüssel-Wert-Paare)
$person = [
    "vorname" => "Max",
    "nachname" => "Mustermann",
    "email" => "max@example.com"
];

Wichtige PHP-Funktionen für String-Manipulation in Arrays

implode() – Array zu String verbinden

Wandelt ein Array in einen String um, mit einem Trennzeichen zwischen den Elementen.

$fruits = ["Apfel", "Banane", "Orange"];
$fruits_string = implode(", ", $fruits);
echo $fruits_string; // Ausgabe: "Apfel, Banane, Orange"

Anwendungsfall: Erstellung einer CSV-Liste aus einem Array.

explode() – String in Array aufteilen

Das Gegenteil von implode() – teilt einen String anhand eines Trennzeichens in ein Array auf.

$csv = "Apfel,Banane,Orange";
$fruits_array = explode(",", $csv);
print_r($fruits_array);
/*
Ausgabe:
Array
(
    [0] => Apfel
    [1] => Banane
    [2] => Orange
)
*/

Anwendungsfall: Verarbeitung von CSV-Daten oder Benutzereingaben.

array_map() – Funktion auf alle Array-Elemente anwenden

Wendet eine Funktion auf jedes Element eines Arrays an.

$names = ["max", "sophie", "tom"];

// Alle Namen groß schreiben
$capitalized = array_map('ucfirst', $names);
print_r($capitalized);
/*
Ausgabe:
Array
(
    [0] => Max
    [1] => Sophie
    [2] => Tom
)
*/

Anwendungsfall: Datenbereinigung oder -formatierung.

array_walk() – Ähnlich wie array_map(), aber mit Referenzen

$words = ["haus", "baum", "straße"];

array_walk($words, function(&$value) {
    $value = ucfirst($value);
});

print_r($words);
/*
Ausgabe:
Array
(
    [0] => Haus
    [1] => Baum
    [2] => Straße
)
*/

preg_replace() mit Arrays – Mehrere Ersetzungen durchführen

$text = "Der schnelle braune Fuchs springt über den faulen Hund.";
$suchmuster = ['/schnelle/', '/braune/', '/faule/'];
$ersetzungen = ['langsame', 'rote', 'schlauen'];

$neuer_text = preg_replace($suchmuster, $ersetzungen, $text);
echo $neuer_text; // "Der langsame rote Fuchs springt über den schlauen Hund."

Anwendungsfälle mit Beispielen

Fall 1: Datenbereinigung

$userInputs = ["  max ", "  anna  ", "  TOM "];

// Trimmen und groß schreiben
$cleanInputs = array_map(function($input) {
    return ucfirst(strtolower(trim($input)));
}, $userInputs);

print_r($cleanInputs);
/*
Ausgabe:
Array
(
    [0] => Max
    [1] => Anna
    [2] => Tom
)
*/

Fall 2: Tags aus einem String extrahieren

$blogPost = "#PHP #Tutorial über #String-Manipulation mit #Arrays";
$tags = [];

// Hashtags finden und in Array speichern
preg_match_all('/#(\w+)/', $blogPost, $matches);
if (!empty($matches[1])) {
    $tags = $matches[1];
}

print_r($tags);
/*
Ausgabe:
Array
(
    [0] => PHP
    [1] => Tutorial
    [2] => String
    [3] => Arrays
)
*/

Fall 3: Mehrsprachige Übersetzungen

$translations = [
    'welcome' => [
        'de' => 'Willkommen',
        'en' => 'Welcome',
        'fr' => 'Bienvenue'
    ],
    'goodbye' => [
        'de' => 'Auf Wiedersehen',
        'en' => 'Goodbye',
        'fr' => 'Au revoir'
    ]
];

function translate($key, $lang, $translations) {
    return $translations[$key][$lang] ?? $key;
}

echo translate('welcome', 'fr', $translations); // Ausgabe: "Bienvenue"

Fall 4: Dynamische SQL-Query-Erstellung

$conditions = [
    "status = 'aktiv'",
    "created_at > '2023-01-01'",
    "user_type IN ('admin', 'editor')"
];

$whereClause = implode(" AND ", $conditions);
$query = "SELECT * FROM users WHERE " . $whereClause;

echo $query;
/*
Ausgabe:
SELECT * FROM users WHERE status =
'aktiv' AND created_at > '2023-01-01' AND user_type IN ('admin', 'editor')
*/

Fortgeschrittene Techniken

Array-Reduktion mit Strings

$words = ["PHP", "ist", "toll"];
$sentence = array_reduce($words, function($carry, $item) {
    return $carry . ' ' . $item;
}, '');

echo trim($sentence); // "PHP ist toll"

Mehrdimensionale Arrays verarbeiten

$products = [
    ['id' => 1, 'name' => ' laptop '],
    ['id' => 2, 'name' => ' mouse '],
    ['id' => 3, 'name' => ' keyboard ']
];

// Namen trimmen und groß schreiben
$products = array_map(function($product) {
    $product['name'] = ucfirst(trim($product['name']));
    return $product;
}, $products);

print_r($products);
/*
Ausgabe:
Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Laptop
        )
    [1] => Array
        (
            [id] => 2
            [name] => Mouse
        )
    [2] => Array
        (
            [id] => 3
            [name] => Keyboard
        )
)
*/

Performance-Tipps

  1. implode( ) ist schneller als eine Schleife mit String-Verkettung
  2. array_map( ) ist sauberer als foreach-Schleifen für einfache Transformationen
  3. Reguläre Ausdrücke sparsam verwenden – sie sind leistungsintensiv
  4. Referenzen nutzen (mit &) bei großen Arrays, um Speicher zu sparen

Essenziell

Die String-Manipulation mit Arrays in PHP ist ein essenzielles Werkzeug für die Datenverarbeitung. Die wichtigsten Funktionen sind:
• implode( )/explode( ) für Konvertierung zwischen Strings und Arrays
• array_map( )/array_walk( ) für die Anwendung von Funktionen auf Array-Elemente
• preg_replace( ) mit Arrays für komplexe Ersetzungen

Mit diesen Techniken können Sie effizient Daten bereinigen, transformieren und für die Ausgabe vorbereiten. Die Beispiele zeigen praktische Anwendungen von einfachen Listen bis hin zu komplexen Datenstrukturen.

Dieses Dokument teilen

String-Manipulation

Oder Link kopieren

INHALT

Abonnieren

×
Cancel