Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 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 und...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
 
 
 

[Tutorial] Arbeiten mit Arrays [2 von 2]

Sie befinden sich: Home > Webmaster News

Man kann einem Array auch eigene, sprechende Indexe zuweisen. Die Syntax für die foreach-Anweisung ändert sich dann etwas:


<?php
$farbe = array();
$farbe['standard'] = 'schwarz';
$farbe['fehlermeldung'] = 'rot';
$farbe['blass'] = 'grau';

foreach ($farbe AS farbart => $farbstufe) {
echo $farbart . ' hat den Wert ' . $farbstufe . '<br />';
}
?>

Ein Array mit solch einem benannten Index nennt man auc 'Assoziativen Array'. Die Indexe sollten immer mit einfachen Hochkommas geschrieben werden, wobei auch die Schreibweise mit doppelten Hochkomams und auch die Schreibweise ohne diese funktioniert:

Dies ist die beste Schreibweise:
$farbe['blass'] = 'grau';

$farbe["blass"] = 'grau';
Bei dieser Schreibweise liest der PHP-Interpreter den Text zwischen den Doppelhochkommas aus und prüft, ob er dort etwas parsen muss. Daher dauert die Ausführung der Anweisung bei dieser Schreibweise etwas länger. Auch wenn es nur Sekundenbruchteile sind, so können sich diese in größeren Schleifen doch schnell aufsummieren.

$farbe[blass] = 'grau';
Bei dieser Schreibweise liest der PHP-Interpreter den Text zwischen den Klammern aus und prüft, ob es sich bei dem Wort blass um eine Konstante handelt. Daher dauert die Ausführung der Anweisung bei dieser Schreibweise etwas länger. Auch wenn es nur Sekundenbruchteile sind, so können sich diese in größeren Schleiefn doch schnell aufsummieren. Hinzu kommt, dass diese Schreibweise, ach wenn sie funktioniert, syntaktisch falsch ist. Sie sollte daher vermieden werden.

Die bisher betrachteten Array waren zweidimensional. Die erste Dimension ist die Variable selbst, die zweite Dimension ist das Paar index/wert. Man kann nun jedem Arraywert wieder selbst einen Array zuweisen und bekommt so ein dreidimensionales Array:


<?php
$obst = array();
$obst[] = array('Name'=>'Banane','Farbe'=>'gelb');
$obst[] = array('Name'=>'Kirsche','Farbe'=>'rot');
$obst[] = array('Name'=>'Apfel','Farbe'=>'gruen');
?>

Bei diesem dreidimensionalen Array greift man auf die einzelnen Elemente so zu:

echo $obst[1]['Name'];
(Ausgegeben wird Kirsche)

Array kann mit einer einfachen Anweisung sortieren. Mit sort() sortiert man in aufsteigender, und mit rsort() in absteigender Reihenfolge:


<?php
$obst = array();
$obst[] = 'Apfel';
$obst[] = 'Birne';
$obst[] = 'Kirsche';
$obst[] = 'Banane';
sort($obst);
print_r($obst);
?>

Nutzt man sort() oder rsort() bei assoziativen Array, so gehen die Indexe verloren. Hier nutzt man die Anweisungen asort() oder

arsort() , mit denen nach den Werten sortiert wird, oder ksort() und krsort(), mit denen nach den Indexen sortiert wird.

Zusätzlich gibt es noch natsort() für Texte mit Zahlen:


<?php
$kinositze = array("Reihe 1", "Reihe 22", "Reihe 3", "Reihe 4");
sort($kinositze);
print_r($kinositze);
echo '<br />';
natsort($kinositze);
print_r($kinositze);
?>

Probieren Sie es aus.

Teile dieses Tutorials: -1- -2-

(Autor: WolfgangWolfgang), Eingetragen am 25.07.2008


Schreib ein Kommentar

Name
Mail
Webseite
Kommentar