• 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?

0 głosów
547 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 (283,540 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ź 1,068 wizyt
pytanie zadane 1 grudnia 2021 w PHP przez BarSki13 Obywatel (1,270 p.)
0 głosów
1 odpowiedź 1,372 wizyt
pytanie zadane 3 lipca 2019 w PHP przez BlvckFox Gaduła (4,240 p.)
0 głosów
1 odpowiedź 691 wizyt

93,787 zapytań

142,750 odpowiedzi

323,421 komentarzy

63,392 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...