.NET C# Java Javascript Exception

 | 
Frage stellen Fragen Themen Mitglieder Abzeichen RSS-Feed
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 976 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 hier damit registrieren.


OpenID-Provider anklicken: