Was bedeutet der =>
Operator im folgenden Code?
foreach ($user_list as $user => $pass)
Der Code ist ein Kommentar bei PHP.net. Der Benutzer gibt den Wert von $user_list
, $user
oder nicht an $pass
. Normalerweise sehe ich, dass =>
dies gleich oder größer als ist.
Ich bin mir jedoch nicht sicher, wozu es hier dient, da es nicht zugewiesen ist. Ich habe den Code als gelesen
- Verarbeiten Sie eine Liste von Benutzern in Ganzzahlen
- so dass der Wert jedes Benutzers gleich oder größer als das Passwort ist
Das obige macht für mich keinen Sinn.
Antworten:
=>
ist das Trennzeichen für assoziative Arrays. Im Kontext dieser foreach-Schleife weist sie den Schlüssel des Arrays zu$user
und den Wert zu zu$pass
.Beispiel:
Beachten Sie, dass dies auch für numerisch indizierte Arrays verwendet werden kann.
Beispiel:
quelle
Dies bedeutet, dass Sie den Schlüssel $ user und die Variable $ pass zuweisen
Wenn Sie ein Array zuweisen, gehen Sie folgendermaßen vor
Es verwendet dasselbe Symbol für die Verarbeitung von Arrays in foreach-Anweisungen. Das '=>' verbindet den Schlüssel und den Wert.
Laut PHP-Handbuch hat das '=>' Schlüssel / Wert-Paare erstellt.
Gleich oder größer als ist auch der umgekehrte Weg: '> ='. In PHP steht immer das Vorzeichen größer oder kleiner als zuerst: '> =', '<='.
Und nur als Randnotiz: Das Ausschließen des zweiten Werts funktioniert nicht so, wie Sie es sich vorstellen. Anstatt Ihnen nur den Schlüssel zu geben, gibt es Ihnen tatsächlich nur einen Wert:
quelle
Parse error: syntax error, unexpected T_DOUBLE_ARROW in /var/www/cha.php on line 2
.Code wie "a => b" bedeutet für ein assoziatives Array (einige Sprachen wie Perl nennen , wenn ich mich richtig erinnere, diese "Hash") , dass 'a' ein Schlüssel und 'b' ein Wert ist.
Vielleicht möchten Sie sich zumindest die folgenden Dokumentationen ansehen:
Hier haben Sie ein Array, das aufgerufen wird
$user_list
, und Sie werden darüber iterieren und für jede Zeile den Schlüssel der Zeile in$user
und den entsprechenden Wert in erhalten$pass
.Zum Beispiel dieser Code:
Erhalten Sie diese Ausgabe:
(Ich verwende
var_dump
, um eine schöne Ausgabe zu generieren, die das Debuggen erleichtert. Um eine normale Ausgabe zu erhalten, würden Sie verwenden.echo
)"Gleich oder größer" ist umgekehrt: "größer oder gleich", was in PHP so geschrieben ist; "> ="
Dasselbe gilt für die meisten Sprachen, die von C abgeleitet sind: C ++, JAVA, PHP, ...
Als Ratschlag: Wenn Sie gerade erst mit PHP beginnen, sollten Sie auf jeden Fall einige Zeit (vielleicht ein paar Stunden, vielleicht sogar einen halben Tag oder sogar einen ganzen Tag) damit verbringen, einige Teile des Handbuchs durchzugehen :-)
Es ' Ich würde dir sehr helfen!
quelle
Ein Array in PHP ist eine Zuordnung von Schlüsseln zu Werten:
Wenn Sie mit jedem Schlüssel-Wert-Paar in Ihrem Array etwas unternehmen möchten, können Sie das verwenden
foreach
Kontrollstruktur verwenden:Die Variable $ array ist das Array, das Sie verwenden werden. Die Variablen $ key und $ value enthalten in jeder Iteration der
foreach
Schleife ein Schlüssel-Wert-Paar . In diesem Beispiel enthalten sie zuerst "gelb" und 3, dann "grün" und 4.Sie können eine alternative Notation verwenden, wenn Sie sich nicht für die Schlüssel interessieren:
quelle
Arrays in PHP sind standardmäßig assoziative Arrays (auch als Wörterbücher oder Hashes bezeichnet). Wenn Sie einem Wert keinen Schlüssel explizit zuweisen, erledigt der Interpreter dies stillschweigend für Sie. Der Ausdruck, den Sie dort oben haben, durchläuft
$user_list
den Schlüssel$user
und stellt den Schlüssel als und den Wert$pass
als lokale Variablen im Hauptteil des zur Verfügungforeach
.quelle
$user_list
ist ein Array von Daten, die beim Durchlaufen in ihren Namen und Wert aufgeteilt werden können.In diesem Fall ist der Name
$user
und der Wert$pass
.quelle