Witam,
Dziękuje za zapytanie.
Malutki napisał(a):foreach($Numery as $key =>$value ) o co chodzi z tym $key =>$value"
Najpierw warto by było zastanowić się czym jest
klucz ?
Klucz z ang. key jako rzecz w naszym świecie realnym

jest to narzędzie, którym można otworzyć drzwi, ale trzeba się przyjrzeć temu kluczowi od innej strony.
Klucz do drzwi jest tylko JEDEN, co najwyżej można go zduplikować (powielić), ale tylko jeden jedyny klucz będzie pasował do danych drzwi, z tego wnioskujemy, że jest on
unikalny.
Za drzwiami, jest pewnego rodzaju ZAWARTOŚĆ, tą wartością jest z ang. value.
Teraz przyjrzyjmy się temu od punktu programistycznego.
W PHP istnieją tzw. tablice asoscjacyjne, z ang. association oznacza skojarzenie, pewnego rodzaju przyporządkowanie.
Przyporządkowanie polega na
uporządkowaniu elementów, a następnie ustawienie ich odpowiednio
przy sobie, aby zaczęły stanowić "więź". Elementem może być jakikolwiek obiekt, czyli imię, słoń, mucha, liczba, nazwa - cokolwiek, w naszym wypadku są to najczęściej liczby oraz nazwy (stringi).
Więź ta jest specyficzna, zachowuje się tak jak w matematycznych funkcjach i dokładnie tak samo jak w przypadku
klucz (unikalna nazwa / id) -> drzwi (wartość). Funkcja jest to takie przyporządkowanie, które każdemu elementowi ze zbioru X, przyporządkowuje dokładnie jeden element ze zbioru Y.
Zbiór jest to pewnego rodzaju
nieuporządkowany (nie liczy się w nim kolejność) pojemnik do przechowywania elementów / obiektów.
Naszymi X w tym wypadku są klucze, natomiast Y są drzwi (wartości).
W matematyce taką funkcję opisuje się: X => Y, co jak widać jest podobne do $key => $value.
Czyli jeśli mamy powiedzmy następujące tablice:
Code: Zaznacz cały
$tab['cosik'] = 40;
$tab['kolor'] = "zielony";
$tab[3] = "Ala coś tam robi, ale nie pamiętam co";
$tab['ownnn'] = "jeeeee";
To do zbioru kluczy / zbioru X, należą elementy: "cosik", "kolor", 3, "ownnn".
Natomiast do zbioru Y / wartości, należą elementy: 40, "zielony", "Ala coś tam robi, ale nie pamiętam co", "jeeeee".
Natomiast nazwą funkcji / tablicy jest "tab".
W matematyce dla przykładu tab('cosik') = 40; tab ('kolor') = "zielony".
W informatyce dla przykładu tab['cosik'] == 40; tab['kolor'] == 'zielony'; - zwrócą wartość "true".
Teraz dochodzimy do pętli "foreach($Numery as $key =>$value )"
$Numery to funkcja / nazwa tablicy. $key to klucze. $value to wartości.
foreach - każdy element
$Numery - z tablicy Numery
as - "potraktuj" jako
$key - klucz
=> przyporządkuj go do
$value - wartości.
Ponieważ jest to pętla i wykona się ona dla każdego (foreach) elementu tablicy raz, to pod kluczem oraz wartością przy każdym "przejściu" przez pętle, będą znajdowały się inne wartości.
Dla np.
Code: Zaznacz cały
$tab['cosik'] = 40;
$tab['kolor'] = "zielony";
$tab[3] = "Ala coś tam robi, ale nie pamiętam co";
$tab['ownnn'] = "jeeeee";
wywołanie
Code: Zaznacz cały
foreach ($tab as $key => $value)
{
echo $key." = ".$value."<br />";
}
da nam jako wynik:
Code: Zaznacz cały
cosik = 40;
kolor = "zielony";
3= "Ala coś tam robi, ale nie pamiętam co";
ownnn = "jeeeee";
na końcu w $value będzie znajdować się "jeeeee".
Teraz wystarczy odnieść się do tego co napisałem do Pana przypadku - myślę, że teraz to będzie proste i przyda się jako trening
Na marginesie pętla mogłaby wyglądać tak:
Code: Zaznacz cały
foreach ($tab as $abc => $abcd)
{
echo $abc ." = ".$abcd."<br />";
}
Wygląda inaczej, aby zmienne były self-descriptive (samo-opisujące się).
Pozdrawiam serdecznie,
Arkadiusz Włodarczyk