Co oznacza =>
operator w poniższym kodzie?
foreach ($user_list as $user => $pass)
Kod jest komentarzem w PHP.net. Użytkownik nie określi wartości $user_list
, $user
lub $pass
. Zwykle widzę, że =>
oznacza to równe lub większe niż.
Nie jestem jednak pewien co do jego celu, ponieważ nie jest on przypisany. Kod odczytałem jako
- przetwarza listę użytkowników w liczbach całkowitych
- takie, że wartość każdego użytkownika jest równa lub większa niż hasło
Powyższe nie ma dla mnie sensu.
Odpowiedzi:
=>
jest separatorem tablic asocjacyjnych. W kontekście tej pętli foreach przypisuje klucz tablicy do$user
i wartość do$pass
.Przykład:
Zauważ, że może to być również używane do tablic indeksowanych numerycznie.
Przykład:
źródło
Oznacza to przypisanie klucza do $ user, a zmiennej do $ pass
Kiedy przypisujesz tablicę, robisz to w ten sposób
Używa tego samego symbolu do przetwarzania tablic w instrukcjach foreach. Znak „=>” łączy klucz i wartość.
Zgodnie z podręcznikiem PHP , „=>” utworzono pary klucz / wartość.
Również równe lub większe niż jest odwrotny sposób: „> =”. W PHP znak „większe lub mniejsze niż” jest zawsze pierwszy: '> =', '<='.
I tak na marginesie, wykluczenie drugiej wartości nie działa tak, jak myślisz. Zamiast dawać tylko klucz, w rzeczywistości daje tylko wartość:
źródło
Parse error: syntax error, unexpected T_DOUBLE_ARROW in /var/www/cha.php on line 2
.Kod taki jak „a => b” oznacza tablicę asocjacyjną (niektóre języki, takie jak Perl , jeśli dobrze pamiętam, nazywają to „hash”) , że „a” jest kluczem, a „b” wartością.
Możesz rzucić okiem na dokumentację przynajmniej:
Tutaj masz tablicę, wywołaną
$user_list
, i będziesz ją iterować, uzyskując dla każdej linii klucz linii w$user
i odpowiednią wartość w$pass
.Na przykład ten kod:
Otrzymasz to wyjście:
(Używam
var_dump
do generowania ładnego wyniku, który ułatwia debugowanie; aby uzyskać normalne wyjście, użyłbyśecho
)„Równe lub większe” to odwrotne określenie: „większe lub równe”, co jest napisane w PHP, w ten sposób; "> ="
To samo dla większości języków wywodzących się z C: C ++, JAVA, PHP, ...
Jako rada: jeśli dopiero zaczynasz z PHP, zdecydowanie powinieneś poświęcić trochę czasu (może kilka godzin, może nawet pół dnia lub nawet cały dzień) przeglądając niektóre części instrukcji :-)
To ' bardzo ci pomogę!
źródło
Tablica w PHP to mapa kluczy do wartości:
Jeśli chcesz coś zrobić z każdą parą klucz-wartość w swojej tablicy, możesz użyć
foreach
struktury kontrolnej:Zmienna $ array to tablica, której będziesz używać. Zmienne $ key i $ value będą zawierać parę klucz-wartość w każdej iteracji
foreach
pętli. W tym przykładzie najpierw będą zawierały „żółty” i 3, a następnie „zielony” i 4.Możesz użyć alternatywnej notacji, jeśli nie dbasz o klucze:
źródło
Tablice w PHP są domyślnie tablicami asocjacyjnymi (inaczej nazywanymi słownikami lub hashami). Jeśli nie przypiszesz klucza do wartości, interpreter po cichu zrobi to za Ciebie. Tak więc wyrażenie, które tam masz, przechodzi przez iterację
$user_list
, udostępniając klucz jako,$user
a wartość$pass
jako zmienne lokalne w treściforeach
.źródło
$user_list
jest tablicą danych, które po zapętleniu można podzielić na nazwę i wartość.W tym przypadku jest to nazwa
$user
i wartość to$pass
.źródło