.NET C# Java Javascript Exception

 | 
Frage stellen Fragen ansehen Themen Benutzer Abzeichen RSS
3
Ich verstehe in einer fremden PHP-Datei folgenden Code nicht.

foreach ($user_list as $user => $pass)

$user_list, $user und $pass wurden nicht spezifiziert! Jedenfalls seh ich es nicht.

Kann mir jemand erklären was da passiert?
Themen:
php
11.08.09
paulk 63 1 3
Kommentieren - Für Rückfragen oder Anmerkungen
3 Antworten
8
Eines der in PHP verfügbaren Schleifenkonstrukte ist foreach. Foreach kann verwendet werden, um alle Inhalte eines Arrays zu durchlaufen. Dabei existieren zwei Syntaxvarianten:

  • foreach (array_expression as $value)
    statement
    Bei dieser Variante wird, beginnend beim ersten Eintrag, bei jedem Schleifendurchlauf der aktuelle Inhalt des Arrays array_expression an $value zugewiesen und der interne Arraypointer um eins erhöht.

  • foreach (array_expression as $key => $value)
    statement
    Diese Variante ist zur ersten identisch. Hierbei wird lediglich zusätzlich der aktuelle Schlüsselwert an $key zugewiesen.


Seit PHP5 kann foreach auch auf Objekte angewendet werden und iteriert dort über die Eigenschaften des Objektes. Bei Variante2 enthält $key in dem Fall jeweils den Namen der Eigenschaft.

In deinem speziellen Fall wird das Array $user_list durchlaufen und nacheinander der Schlüsselwert an $user und der Arrayinhalt an $pass zugewiesen.
11.08.09
FalkP 3,2k 2 7
1
danke dir
paulk 16.08.09
2
Häufige Fehlerquelle bei => ist das verwechseln mit >= aus dem IF-Abfragen.

Es gibt zum Beispiel niemals ein "Gleich-Größer" (=>) aber Problemlos ein "Größer-Gleich" (>=).

Nur so als Anmerkung. ;-)
08.09.09
Martin Bassus 426 6
1
Ergänzung:

der => stellt einen allgemeinen Array-Operator dar, um einem bestimmten Index auf schnelle weise einen Wert zuzuordnen.

Das betrifft neben den genannten Foreach-Schleifen auch allgemein alle Arrays.

So kannst Du ein Array mit Indizes und Werten initialisieren:

$arr = Array('idx1' => 'val1', 'idx2' => 'val2' ... );


führt im ergebnis zu:
$arr['idx1'] == 'val1'
$arr['idx2'] == 'val2'


usw.
08.09.09
MiW 964 7
Deine Antwort
Entweder einloggen... ...oder ohne Wartezeit registrieren
Name
Passwort
Passwort wiederholen
E-Mail
Geworben von


Login mit OpenID

Mit einem OpenID-Account kannst Du dich auf allen Webseiten anmelden, die OpenID unterstützen. Du hast bereits ein Benutzerkonto bei einem der folgenden Provider? Dann kannst Du dich direkt bei codekicker damit registrieren.


OpenID-Provider anklicken: