www.knightonlineworld.pl http://knightonlineworld.pl/forum/ |
|
Kurs php - czesc 2 http://knightonlineworld.pl/forum/viewtopic.php?f=21&t=318911 |
Strona 1 z 1 |
Autor: | enejcz [ 2007-11-18 13:04:38 ] |
Tytuł: | Kurs php - czesc 2 |
w poprzedniej czesci kursu pokazalem jak stworzyc zmienna i przypisac do niej jakas wartosc. Zeby jednak operowac na tych zmiennych bedziemy potrzebowalikilku operatorow. operatory matematyczne Podstawowa grupa sa operatory matematyczne: + (suma) - (roznica) * (iloczyn) / (iloraz) % (modulo czyli reszta z dzielenia) Wykorzystujemy je tak samo jak w matematyce ![]() $a + $b $a - $b $a * $c itd. Oczywiscie musimy pamietac zeby zapisac wynik dzialania do jakiejs zmiennej - inaczej mimo wykonania danego dzialania nie bedziemy znali jego wyniku. Przyklad: Kod: <? $a = 2; $b = 4; $c = 6; $wynik = ($a+$b)*$c; echo($wynik); ?> Operatory przypisania Kolejnymi bardzo waznymi operatorami sa operatory przypisania. Stosowane bardzo czesto, zwiekszaja czytelnosc kodu. Lista operatorow += -= *= /= %= .= Wykorzystanie: $a += $b; (rownoznaczne z $a = $a + $b;) $a -= $b; (rownoznaczne z $a = $a - $b;) $a *= $b; (rownoznaczne z $a = $a * $b;) $a /= $b; (rownoznaczne z $a = $a / $b;) $a %= $b; (rownoznaczne z $a = $a % $b;) $a .= $b; (rownoznaczne z $a = $a.$b;) W poprzedniej czesci kursu podalem taki przyklad: Kod: <?php $imie = 'Jasio'; $nazwisko = 'Kowalski'; $a = 2+2; echo($imie.'<br>'.$nazwisko.'<br>'.$a); ?> Nie powiedzialem co robi operator "." (kropka). Sluzy ona do laczenia dwoch ciagow znakow. Np: Kod: <?php $a = 'ala '; $b = 'ma kota.'; $wynik = $a.$b; echo('>'.$wynik.'<'); ?> Taki skrypt wyswietli nam na ekranie ciag: Kod: >ala ma kota< Po raz kolejny zaznaczam - przy wyswietlaniu zmiennych nie ma '', ktore musza byc obecne przy zwyklym tekscie. Operator laczenia dwoch ciagow znakow jest jednym z najczesciej wykorzystywanych operatorow. Operatory inkrementacji i dekrementacji Spokojnie, to tylko tak madrze sie nazywa ![]() Inkrementacja - zwiekszenie, dekrementacja - zmniejszenie. Kod: <?php $a=2; echo($a.'<br>'); //wyswietli 2 $a++; echo($a.'<br>'); //wyswietli 3 $a--; echo($a.'<br>'); //wyswietli 2 ?> Tak jak widac: -operator $zmienna++ zwieksza dana zmienna o 1 -operator $zmienna-- zmniejsza zmienna o 1 Operatory porownan Jak sama nazwa mowi - sluza do porownywania pewnych rzeczy ze soba. Lista operatorow oraz ich znaczenie: == rowne === identyczne != nierowne <> nierowne < mniejsze > wieksze <= mniejsze lub rowne >= wieksze lub rowne Kilka przykladow: 2 == 2 (prawda) 2 === 2 (prawda) 2 != 2 (falsz) 2 <> 2 (falsz) 2 < 2 (falsz) 2 > 2 (falsz) 2 <= 2 (prawda) 2 >= 2 (prawda) Operatory porownan wykorzystujemy w roznego typu petlach, porownaniach itp. Instrukcje IF, WHILE oraz FOR Chyba najczesciej wykorzystywane zaraz po echo(). Ich wykorzystanie jak i dzialanie jest bardzo proste, trzeba tylko miec troche wyobrazni i sprobowac zozumiec jak one dzialaja. Zaczniemy od instrukcji if: Ogolna zasada tworzenia instrukcji if: Kod: if (wyrazenie) { instrukcje } W instrukcji if mozemy opcjonalnie uzyc polecenia "else": Kod: if (wyrazenie) { instrukcje } else { inne instrukcje } Zasada dzialania jest prosta jak budowa cepa ![]() przyklad Kod: <?php $a=2; $b=3; if ($a == $b) { echo('$a = $b'); } else { echo('$a != $b'); } ?> UWAGA! Bardzo czestym bledem popelnianym przez poczatkujacych jest pisanie instrukcji w ten sposob: Kod: <?php $a=2; $b=5; if ($a = $b) { echo('$a = $b'); } ?> W takim przypadku wyrazenie zawsze bedzie prawdziwe! Nie mylcie przypisania z porownaniem! while Kolejna instrukcja. Wykonuje dane operacje dopoki bedzie spelniony warunek. Kod: while (warunek) { instrukcje } Przyklad: Kod: <?php $a = 0; while ($a < 10) { echo($a); $a++ } ?> Taka petla wyswietli nam na ekranie: Kod: 0123456789 Istnieje jeszcze troche zmodyfikowana wersja instrukcji while a mianowicie do ... while: Kod: do { instrukcje } while (warunek) Czym sie rozni od instrukcji while? Tym ze warunek jest sprawdzany PO wykonaniu instrukcji, czyli instrukcje zostana wykonane co najmniej raz. Kod: <?php $a = 0; do { echo($a); } while ($a>0) ?> for Ostatnia instukcja ktora przedstawie w tej czesci kursu jest instrukcja for. Kod: for (wyrazenie1; warunek; wyrazenie2) instrukcje Co to oznacza i jak sie z tego korzysta? Ano bardzo prosto: Kod: for ($i=0; $i<10; $i++) { instrukcje } I teraz wytlumacze co zrobilismy i jak to dziala: 1. stworzylismy zmienna $i o wartosci 0 2. ustawilismy warunek ze instrukcje maja byc wykonywane dopoki $i bedzie mniejsze od 10 3. ustawilismy ze zmienna $i bedzie zwiekszana o 1 po kazdej wykonanej petli. Przyklad: Kod: <?php for($i=0; $i<20; $i+=2) { echo($i.'<br>'); } ?> Specjalnie tutaj uzylem troche innych warunkow zebyscie lepiej zrozumieli jak to dziala. Taka petla wyswietli na ekranie: Kod: 0 2 4 6 8 10 12 14 16 18 Uwaga! Uwazajcie jak konstruujecie warunki! Bardzo latwo jest wpasc w nieskonczona petle. W najlepszym wypadku pokaze sie komunikat o przekroczeniu maxymalnego czasu wykonywania skryptu Przyklad zle skonstruowanego warunku: Kod: <?php for($i=0; $i<20; $i+2) { echo($i.'<br>'); } ?> *** Edit + poprawka W tym przypadku warunek $i<20 nigdy nie zostanie spelniony. Dlaczego? Faktem jest ze zwiekaszmy $i o 2 ($i+2) ale nie zapisujemy tego. $i nadal ma wartosc 0. To by bylo na tyle jezeli chodzi o druga czesc kursu. Chyba nie pominalem niczego bardzo waznego. W nastepnej czesci bedziemy pisac juz troche bardziej przydatne skrypty ![]() |
Autor: | Zubaran_PL [ 2007-11-18 13:38:55 ] |
Tytuł: | |
Mogę się czepiać? ![]() |
Autor: | enejcz [ 2007-11-18 13:52:36 ] |
Tytuł: | |
Jasne ![]() |
Autor: | Zubaran_PL [ 2007-11-18 16:27:14 ] |
Tytuł: | |
Nh2003 napisał(a): Warunek ($i+2) jest zawsze spelniony! A dlaczego? Poniewaz wynikiem tego warunku jest to czy udalo sie zwiekszyc $i o 2. Czytałem te zdanie kilka razy. I gdybym nie wiedział jak działa for, to bym nic nie zrozumiał. Przeczytaj to sobie *spokojnie*. I jeszcze quiz: Co wyświetli kod z kursu o pęrli do..while? |
Autor: | enejcz [ 2007-11-18 18:26:04 ] |
Tytuł: | |
Zubaran_PL napisał(a): Czytałem te zdanie kilka razy. I gdybym nie wiedział jak działa for, to bym nic nie zrozumiał. Przeczytaj to sobie *spokojnie*. czytam i czytam i nie wiem a co Ci chodzi... Cytuj: I jeszcze quiz: Co wyświetli kod z kursu o pęrli do..while? Na pewno nie bedzie to blad ![]() |
Autor: | Zubaran_PL [ 2007-11-18 19:12:30 ] |
Tytuł: | |
Nh2003 napisał(a): czytam i czytam i nie wiem a co Ci chodzi... Nh2003 napisał(a): Warunek ($i+2) jest zawsze spelniony! A dlaczego? Poniewaz wynikiem tego warunku jest to czy udalo sie zwiekszyc $i o 2. W takim przypadku petla bedzie wykonywac sie w nieskonczonosc. Tak więc zacznę od tego, że w tym przypadku ($i+2) to nie jest warunek, a tylko zwykła instrukcja iteracyjna. Warunkiem jest ($i<20). Po drugie nawet jeżeli ($i+2) byłoby warunkiem (co jest oczywiście możliwe), to jego wynikiem (zawsze logicznym) nie jest "skuteczność" zwiększenia zmiennej o 2, tylko wynik arytmetyczny jaki ona daje poddany operacji konwersji na typ logiczny (czyli dla 0 będzie: false, dla każdej innej: true). |
Autor: | enejcz [ 2007-11-18 19:17:26 ] |
Tytuł: | |
Tak to jest jak juz czlowiek nie mysli =.= Lece poprawic caly zapis. |
Autor: | Zubaran_PL [ 2007-11-18 19:25:55 ] |
Tytuł: | |
To ja zadam pytanie które kiedyś sam otrzymałem: 1) Skęd mam wiedzieć kiedy mam użyć 'if' a kiedy 'for'? 2) Dlaczego sę 3 rodzaje pętli, skęd mam wiedzieć którę kiedy stosować? |
Autor: | enejcz [ 2007-11-18 20:26:06 ] |
Tytuł: | |
Zaczne od konca: Zubaran_PL napisał(a): Dlaczego sę 3 rodzaje pętli, skęd mam wiedzieć którę kiedy stosować? Kazda petla dziala inaczej: for - jest bardzo dobra gdy musimy wykonac ta sama, stala liczbe razy. Np. musimy zpingowac 14 serwerow. Wtedy prosta petla for i juz mamy efekt. Petla while jest idealna w momencie gdy musimy cos zrobic ilestam razy ale nie wiemy ile razy to bedzie. Przykladem moze byc wyswietlanie wierszy w tablicy. Moze sie zdarzyc ze tablica bedzie pusta ale moze byc tez ze wierszy bedzie 500. Natomiast instukcja do...while sprawdza sie tez tam gdzie while ale przy zalozeniu ze cos musi zostac zrobione chociaz raz. Taka jest moja interpretacja tych 3 petli ![]() Zubaran_PL napisał(a): Skęd mam wiedzieć kiedy mam użyć 'if' a kiedy 'for'? if sluzy do sprawdzania warunkow - konkretnych. Np. czy user jest zalogowany, czy wylogowany itp itd. Petla for natomiast sluzy do wykonywania kilku-kilkunastu albo nawet kilkuset takich samych instrukcji pod rzad. |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |