Navigation
 Startseite
 Fachbücher
 Anzeigenmarkt
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Webhoster Vergleich
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte...
https://www.Artfiles.de
 
 
 

Schlüssel und Wert eines Arrays ausgeben mit foreach

Sie befinden sich: Home > Php Tutorial > Schlüssel und Wert eines...

Schlüssel und Wert eines Arrays ausgeben mit foreach


Eintrag am:  02.09.2010
Hits / Besucher:  7791
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

Die foreach-Schleife ist der Standardweg, um alle Elemente eines Arrays in PHP durchzugehen. Sie liefert bei jedem Durchlauf wahlweise nur den Wert oder Schlüssel und Wert zusammen. Das macht sie besonders übersichtlich bei assoziativen Arrays.

Nur Werte durchlaufen

In der einfachsten Form gibt foreach bei jedem Durchlauf den Wert des aktuellen Elements zurück:

<?php

$sprachen = ['PHP', 'JavaScript', 'Python'];

foreach ($sprachen as $sprache) {
echo $sprache . '<br>';
}
/* Ausgabe:
PHP
JavaScript
Python */
?>

Die Variable $sprache enthält bei jedem Durchlauf den Wert des nächsten Elements. Der Schlüssel (hier 0, 1, 2) wird nicht benötigt und deshalb weggelassen.

Schlüssel und Wert zusammen ausgeben

Bei assoziativen Arrays sind die Schlüssel oft genauso wichtig wie die Werte. Mit der erweiterten Syntax $key => $value stehen beide zur Verfügung:

<?php

$preise = [
'Laptop' => 899,
'Maus' => 29,
'Tastatur' => 59
];

foreach ($preise as $produkt => $preis) {
echo $produkt . ': ' . $preis . ' EUR<br>';
}
/* Ausgabe:
Laptop: 899 EUR
Maus: 29 EUR
Tastatur: 59 EUR */
?>

Die Variablennamen $produkt und $preis sind frei wählbar. Sprechende Namen machen den Code leichter verständlich als $k und $v.

Praxisbeispiel: HTML-Tabelle erzeugen

Ein typischer Anwendungsfall ist das Erzeugen von HTML-Ausgaben aus Array-Daten:

<?php

$mitarbeiter = [
['name' => 'Anna', 'abteilung' => 'Entwicklung'],
['name' => 'Ben', 'abteilung' => 'Design'],
['name' => 'Clara', 'abteilung' => 'Vertrieb']
];

echo '<table>';
foreach ($mitarbeiter as $index => $person) {
echo '<tr>';
echo '<td>' . ($index + 1) . '</td>';
echo '<td>' . $person['name'] . '</td>';
echo '<td>' . $person['abteilung'] . '</td>';
echo '</tr>';
}
echo '</table>';
?>

Der numerische Index wird hier als Zeilennummer verwendet, und die Werte aus den Unter-Arrays füllen die Tabellenzellen.

Werte innerhalb der Schleife ändern

Normalerweise arbeitet foreach mit einer Kopie des Werts. Um ein Element direkt im Array zu verändern, wird eine Referenz mit & verwendet:

<?php

$preise = [10, 20, 30];

foreach ($preise as &$preis) {
$preis = $preis * 1.19;
}
unset($preis);

print_r($preise);
/* Ausgabe:
Array ( [0] => 11.9 [1] => 23.8 [2] => 35.7 ) */
?>

Das unset($preis) nach der Schleife ist wichtig. Ohne diesen Aufruf bleibt die Referenz auf das letzte Element bestehen, was zu schwer auffindbaren Fehlern führen kann, wenn die Variable später erneut verwendet wird.

Nur Schlüssel oder nur Werte als Array

Wer alle Schlüssel oder alle Werte eines Arrays als separates Array benötigt, kann array_keys() und array_values() verwenden:

<?php

$config = ['host' => 'localhost', 'port' => 3306];

$schluessel = array_keys($config);
// ['host', 'port']

$werte = array_values($config);
// ['localhost', 3306]
?>

Das ist praktisch, wenn Schlüssel und Werte getrennt weiterverarbeitet werden sollen, etwa für Dropdown-Menüs oder Konfigurationstabellen.

 

Tags:

 

Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.