Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Sprachelemente und Syntax  Teil von  Arrays
Letztes Update: 04.09.2007 20:49:50

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

Funktionen für mehrere Elemente




Einsatz von array_walk()

Oft werden Funktionen genutzt, um Elemente zu bearbeiten. Um nun eine Funktion, gleich ob intern oder selbst definiert, auf alle Elemente eines Arrays anzuwenden, verwenden Sie die Funktion array_walk().

Beispiel
<?php
$produkte = array (
    "a"=>"Gurke",
    "b"=>"Lauch",
    "c"=>"Brokoli",
    "d"=>"Kohl"
    );

function formatieren (&$item1, $key, $prefix) {
  $item1 = "$prefix: $item1";
}

function ausgeben ($item2, $key) {
  echo "$key. $item2<br>";
}

echo "Funktion ausgeben:<br>";
array_walk ($produkte, 'ausgeben');

array_walk ($produkte, 'formatieren', 'Gemüse');
echo "Nach der Formatierung:<br>";

array_walk ($produkte, 'ausgeben');
?>

Ausgabe
Funktion ausgeben:
a. Gurke
b. Lauch
c. Brokoli
d. Kohl
Nach der Formatierung:
a. Gemüse: Gurke
b. Gemüse: Lauch
c. Gemüse: Brokoli
d. Gemüse: Kohl

Die genaue Anzahl der Elemente des Arrays müssen Sie dazu nicht kennen. array_walk() arbeitet mit der ersten Dimension und übergibt jedes Element, egal ob Array oder nicht, an die aufgerufene Funktion. Theoretisch kann man hier erneut mit array_walk() arbeiten, um die nächste Dimension zu erreichen.

Hinweis: Sollte die Funktion, die array_walk() aufruft, nicht vorhanden sein bzw. den Funktionsbezeichner falsch geschrieben haben, erfolgt keine Fehlermeldung. Es wird lediglich eine Warnung ausgegeben. Achten Sie daher auf die korrekte Schreibweise.


Einsatz von count() / sizeof()

Um die Anzahl der Einträge eines Arrays herauszubekommen, können Sie entweder count() oder sizeof() verwenden.

Beispiel

<?php
$produkte = array (
    "a"=>"Gurke",
    "b"=>"Lauch",
    "c"=>"Brokoli",
    "d"=>"Kohl"
    );

// Ausgabe (4)
echo count($produkte);
// Ausgabe (4)
echo sizeof($produkte);
?>


Einsatz von current()/pos()

Jedes Arrays hat einen internen Arrayzeiger, welcher auf sein aktuelles Element verweist. Um das aktuelle Element eines Arrays auszulesen, stehen Ihnen die Funktionen current() und pos() zur Verfügung.


Beispiel

<?php
$produkte = array (
    "a"=>"Gurke",
    "b"=>"Lauch",
    "c"=>"Brokoli",
    "d"=>"Kohl"
    );

// Ausgabe (Gurke)
echo current($produkte);
// Ausgabe (Gurke)
echo pos($produkte);
?>


Einsatz von key()

Für den Schlüssel des aktuellen Elements steht Ihnen die Funktion key() zur Verfügung.

Beispiel

<?php
$produkte = array (
    "a"=>"Gurke",
    "b"=>"Lauch",
    "c"=>"Brokoli",
    "d"=>"Kohl"
    );

// Ausgabe (a)
echo key($produkte);
?>


Einsatz von list()

Mit Hilfe von list() übertragen Sie die Elemente eines Arrays auf einzelne Variablen. Dies erleichtert unter Umständen die Weiterverarbeitung.

Beispiel

<?php
$produkte = array (
    "Gurke",
    "Lauch",
    "Brokoli",
    "Kohl"
    );
list($produkta, $produktb, $produktc, $produktd) = $produkte;
// Ausgabe – Gurke
echo $produkta;
// Ausgabe – Kohl
echo $produktd;
?>


Einsatz von each()

Mithilfe der Funktion each() haben Sie eine ideale Ergänzung zu list(). Hiermit wird ein komplettes Schlüssel-Werte-Paar an ein eindimensionales Array übergeben. Um genau zu sein, werden vier Werte übergeben, die den Schlüsseln 0,1,key und value entsprechen.

Beispiel

<?php
$personen = array (
    "P1"=> "Matthias",
    "P2"=> "Caroline",
    "P3"=> "Gülten",
    "P4"=> "Toni"
    );
$person = each($personen);

echo $person . "<br>";
echo "0: " . $person["0"] . "<br>";
echo "1: " . $person["1"] . "<br>";
echo "key: " . $person["key"] . "<br>";
echo "value: " . $person["value"] . "<br>";
?>

Ausgabe
Array
0: P1
1: Matthias
key: P1
value: Matthias



Hinweis: Sämtliche assoziativen Arrays verfügen über diese Eigenschaften. Die numerischen Schlüssel sowie key und value sind von Anfang an vorhanden und werden nicht erst durch each() erzeugt.


Kombination von each() und list()

In Kombination mit list() lassen sich so auch komplexe Arrays sehr leicht in ihre Bestandteile zerlegen, die Ausgabe von each() wird hierbei direkt in list() übergeben. Sehr häufig wird dabei eine while-Schleife mit einbezogen. Sobald each() keine weiteren Elemente vorfindet, wird FALSE zurückgegeben und die Schleife beendet. Der interne Arrayzeiger wird übrigens automatisch durch each() weitergesetzt.

Beispiel

<?php
$personen = array (
    "P1"=> array("Matthias","Kannengiesser"),
    "P2"=> array("Caroline","Kannengiesser"),
    "P3"=> array("Gülten","Kannengiesser"),
    "P4"=> array("Toni","Schmidt")
    );
while (list ($key, $val) = each ($personen)) {
  echo "$key => $val[0] $val[1]<br>";
}
?>

Ausgabe
P1 => Matthias Kannengiesser
P2 => Caroline Kannengiesser
P3 => Gülten Kannengiesser
P4 => Toni Schmidt


Einsatz von prev() und next()

Sollten Sie each() mehrfach anwenden, werden nacheinander sämtliche Elemente des Arrays ausgegeben. Der interne Arrayzeiger, der auf das aktuelle Element des Arrays zeigt, wandert im Array weiter. Dies ist unter Umständen nicht erwünscht. Sie können daher mit den Funktionen prev() und next() den Zeiger vor- und zurücksetzen.

Beispiel

<?php
$personen = array (
    "Matthias",
    "Caroline",
    "Gülten",
    "Toni"
    );
// Ausgabe – Caroline
echo next($personen);
// Ausgabe – Gülten
echo next($personen);
// Ausgabe – Caroline
echo prev($personen);
?>


Einsatz von reset() und end()

Um einen definierten Ausgangspunkt für den internen Arrayzeiger zu erhalten, stehen Ihnen die Funktionen reset() und end() zur Verfügung. Mit reset() wird der Zeiger auf den ersten Eintrag des Arrays gesetzt und mit end() auf den letzten.

Beispiel

<?php
$personen = array (
    "Matthias",
    "Caroline",
    "Gülten",
    "Toni"
    );
// Ausgabe – Toni
echo end($personen);
// Ausgabe – Matthias
echo reset($personen);
?>



 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt