• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Co oznacza "=>" w foreach w PHP?

Object Storage Arubacloud
0 głosów
335 wizyt
pytanie zadane 10 października 2020 w PHP przez vingilot85 Obywatel (1,150 p.)

Witam,

może mi ktoś wyjaśnić co oznacza => w pętli foreach PHP?

Nie rozumiem konstrukcji kodu: foreach ($klasy as $e => $klasa) 

Reszta kodu poniżej, jeśli konieczny
 

<?php
//tablice 2-wymiarowe z imionami i ocenami uczniów klas Ia i Ib
$klasa_1a=
[
    ['imie'=>'Adam', 'ocena'=>4.5],
    ['imie'=>'Marek', 'ocena'=>5],
    ['imie'=>'Jola', 'ocena'=>5],
    ['imie'=>'Robert', 'ocena'=>4],
    ['imie'=>'Kasia', 'ocena'=>4]
];
$klasa_1b=
[
    ['imie'=>'Robert', 'ocena'=>5],
    ['imie'=>'Kasia', 'ocena'=>4],
    ['imie'=>'Adam', 'ocena'=>3.5],
    ['imie'=>'Magda', 'ocena'=>4],
    ['imie'=>'Rafał', 'ocena'=>5]
];

//tablica 3-wymiarowa z wszystkimi uczniami i ocenami klas 1
$klasy=['1a'=>$klasa_1a, '1b'=>$klasa_1b];

#print_r ($klasy); exit;

//drukowanie imion uczniów i uzyskanych ocen
foreach ($klasy as $e => $klasa)
{    
    echo "Klasa: ".$e."\n".
        "______________\n".
        "Imię\tOcena\n".
        "______________\n";
        
    foreach($klasa as $k) {
        printf("%s\t%s\n", $k['imie'], $k['ocena']);
    }
}

 

2 odpowiedzi

+1 głos
odpowiedź 10 października 2020 przez Wiciorny Ekspert (270,110 p.)

Jest to odwołanie do pola $klasa obiektu spod zmiennej : tzn. dla każdego obiektu $klasa odwołołanie jest do 
$e - > $klasa 
Czyli dla kazdego takie elementu klasy, odwołaj się do pola $klassa na rzecz obiektu $e, oznacza że poprzednik "wskazania" posiada pole $klasa, do którego się odwołujesz. 


Operator podwójnej strzałki => jest używany jako mechanizm dostępu do tablic. Oznacza to, że to, co znajduje się po lewej stronie, będzie miało odpowiednią wartość tego, co znajduje się po prawej stronie w kontekście tablicy. Może to służyć do ustawiania wartości dowolnego dopuszczalnego typu w odpowiednim indeksie tablicy. Indeks może być asocjacyjny (oparty na ciągach znaków) lub numeryczny.

 

+1 głos
odpowiedź 10 października 2020 przez OdsetekGlupoty Pasjonat (15,360 p.)
$a = ['a', 'b', 'c', 'd']

foreach ($a as $index => $element) {
    echo $index;
}
<?php
$a = [1 => 'a', 3 => 'b', 4 => 'c', 8 => 'd'];

foreach ($a as $index => $element) {
    echo $index;
}

Gdy Twój foreach wygląda tak: foreach ($a as $element) masz do dyspozycji tylko zmienną $element, która zawiera obecną wartość w tablicy. Używając $index => $element możesz też posłużyć się zmienną $index aby uzyskać indeks (klucz) obecnego elementu.

W pierwszym przykładzie u góry zrobiłem zwykłą tablicę z domyślnymi indeksami więc wypisane zostanie 0123. W drugim przypadku ustawiłem swoje indeksy, więc zostanie wypisane 1348.

Podobne pytania

+1 głos
1 odpowiedź 534 wizyt
pytanie zadane 1 grudnia 2021 w PHP przez BarSki13 Obywatel (1,250 p.)
0 głosów
1 odpowiedź 1,051 wizyt
pytanie zadane 3 lipca 2019 w PHP przez BlvckFox Gaduła (4,240 p.)
0 głosów
1 odpowiedź 507 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...