Kurs PHP - część IV. Pętle i warunki

Nawigacja
Szablony stron
Polecamy
pozycjonowanie stron
pozycjonowanie stron
astudio.pl
Programowanie
Programowanie
ajo.pl/programowani…
Praca
praca, oferty pracy
www.hrc.pl/
avast
avast
www.softmania.pl/pr…
gg
gg
www.softmania.pl/pr…
Kalendarze
kalendarze książkowe plakatowe
www.lucrum.pl
Wierzytelności
Finansowanie, faktoring
www.edg.com.pl/CMS/…
Gry
Gry Gry Gry
Gry Gry Gry
HFC Magazine - Witamy!
Oficjalna strona czasopisma hfc.
www.hfc.com.pl
Komentarze Allegro
Komentarze allegro, Aukcje
www.www.obeo.pl/nar…
Serwis komputerowy Poznań
Usługi informatyczne Poznań
nuke4u.com
Microsoft
MS
www.microsoft.com/P…
Linux
Linux
ajo.pl/linux/
katalog firm rolnictwo
katalog firm rolnictwo, ogloszenia
agro.maky.pl
Sportingbet
Sportingbet, info o sportingbet
www.sportingbetbonu…
Komentarzy: 0
Dziś kolejne bardzo ważne instrukcje - pętle no i funkcje :) Czyli otwierają się przed nami prawdziwe możliwości języka PHP.

Pętle, czyli for i while


Bardzo pożytecznym narzędziem programisty są pętle, inaczej zwane też iteracjami. Działają one na tej zasadzie: dopóki jakiś warunek jest spełniony, powtarzaj instrukcję, która między innymi modyfikuje ten warunek.
Uwaga dla programistów i webmasterów, którzy mają już jakiś język "za sobą". W PHP składnia pętli jest taka sama jak na przykład w JavaScripcie.

Zanim zaczniemy pisać pętle, słowo jeszcze o dwóch operatorach, a których wcześniej nie pisałem - o inkrementacji i dekrementacji.
Pod tymi odstraszającymi nazwami kryją się najbardziej banalne z możliwych działań - dodawanie i odejmowanie jedynki.

Inkrementacja to po prostu dodanie 1 do wartości inkrementowanej.
Dekrementacja - odjęcie 1.

Zapis:

<?php
$wartosc
++;//inkrementacja
$wartosc--;//dekrementacja
?>



Jeszcze o operatorach

Inkrementacja i dekrementacja to tzw. operatory unarne, tzn. że działają tylko na jednej zmiennej. Dodawanie dwóch zmiennych to działanie binarne.
Występuje też coś takiego jak inkrementacja i dekrementacja przyrostkowa i przedrostkowa. Zależnie od tego, gdzie umieścimy znak operatora, zmieni się kolejność działań. Przykład poniżej:

<?php
$a
= 1;
$b = 1;
$a++; // a równe 2, inkrementacja przyrostkowa
$b++; // b też, inkrementacja przyrostkowa
++$a; // a równe 3, inkrementacja przedrostkowa
++$b; // b też, inkrementacja przedrostkowa

$c = ++$a; // c równe 4, najpierw była inkrementacja (przedrostkowa)
$d = $b++; // d równe 3, najpierw zaszło przypisanie, a potem inkrementacja przyrostkowa
?>


Jak widać, miejsce postawienia dwóch plusów wpływa na kolejność działań.


Prawda, że nie takie straszne... Przejdźmy już do pętli.

Podstawowa konstrukcja pętli jest taka:
słowo for, po nim w nawiasach okrągłych trzy instrukcje oddzielane średnikami: wartość początkowa warunku, wyrażenie, które dopóki jest prawdziwe, dopóty pętla się "kręci" i zmiana warunku. Następnie w klamrach są instrukcje wykonywane dopóty, dopóki druga instrukcja jest spełniona.
Oto przykład (zmienna $i jest "licznikiem" pętli):

<?php
for ($i = 0; $i < 6; $i++)
{
echo
'licznik wynosi: ', $i, '<BR>';
}
?>


Wynikiem działania takiej pętli będzie:
licznik wynosi: 0
licznik wynosi: 1
licznik wynosi: 2
licznik wynosi: 3
licznik wynosi: 4
licznik wynosi: 5

Zauważyłeś, że w funkcji echo pojawił się HTML-owy tag
Jest to możliwe, bo PHP umożliwia w ten sposób dynamiczne tworzenie kodu HTML.

I inna konstrukcja pętli. Można też zrobić to tak (wynik będzie taki sam jak powyżej):

<?php
// licznik jest utworzony
$i = 0;
// warunek
while ($i < 6)
{
echo
'licznik wynosi ', $i, '<BR>';
// inkrementacja licznika
$i++;
}
?>



Pętla while różni się tym, że jeżeli licznik nie został utworzony przed pętlą, lub został zainicjowany tak, że nie spełnia warunku, to ta pętla się ani razu nie wykona. Natomiast w pętli for licznik jest deklarowany razem z warunkiem.

Funkcje


Czym jest funkcja? Tak ogólnie rzecz biorąc w programowaniu funkcja jest blokiem instrukcji, który ma jakąś nazwę, a przez tą nazwę może zostać wywołany.
Mamy funkcje już "wbudowane" w język - poznasz ich jeszcze wiele w tym kursie. Ale to nie wszystko.
Możesz tworzyć własne funkcje. Służy do tego słowo kluczowe function.
Składnia przykładowej funkcji:

<?php
function pomnoz($czynnik1, $czynnik2)
{
$wynik = $czynnik1 * $czynnik2;
echo
$wynik;
}
?>


  • słowo function
  • w nawiasach okrągłych lista argumentów funkcji
  • wszystkie instrukcje w klamrach

Nazwa funkcji ma takie same ograniczenia jak nazwa zmiennej - patrz Część 2, z tym, że nazwa funkcji nie ma znaku dolara na początku.

Wywołanie funkcji w skrypcie wygląda tak:

<?php
pomnoz
(4, 5);
?>


W wyniku dostajemy wypisaną liczbę 20.

Trochę więcej szczegółów? Proszę bardzo. Argumenty funkcji to to, co funkcja pobiera, i na tym wykonuje operacje. Ale nie zawsze musi mieć argumenty. Przykładem może być funkcja, której jedynym celem jest wypisanie czegoś na ekranie, co jest stałe i niezmienne. Taka funkcja nie pobiera argumentów.


<?php
function napisz()
{
echo
'ten tekst sobie z góry ustaliłem';
}
?>



A jak zapisać tę poprzednią funkcję (pomnoz), żeby nie wypisywała nic na ekran, a po prostu zwracała wartość, którą można przypisać do zmiennej? To łatwe. Wystarczy użyć słowa kluczowego return.
Oto przykład:

<?php
function pomnoz($czynnik1, $czynnik2)
{
$wynik = $czynnik1 * $czynnik2;
return
$wynik;
}
?>


Wywołanie tej funkcji przebiega następująco:

<?php
$wynik
= pomnoz(4, 5);
?>


Do zmiennej $wynik jest przypisana wartość, którą zwraca funkcja.

Zauważyłeś, że tak w funkcji, jak i w jej wywołaniu pojawiła się zmienna o tej samej nazwie? Zastanawiasz się, czy to nie powoduje żadnych problemów...
Nie. Zmienne w funkcjach są "niewidoczne" dla skryptu, który wywołuje funkcję.

A jak skorzystać w funkcji ze zmiennej w skrypcie głównym?

Pytanie dotyczy tzw. zmiennych globalnych, czyli takich, które są widoczne przez cały czas pracy programu. Zmienne aktywne tylko w funkcji to zmienne lokalne. Dostęp do zmiennych globalnych w funkcji realizowany jest przez użycie słowa kluczowego global i podania nazw zmiennych, które muszą być widoczne też w funkcji.

<?php
$a
= 5;

function
globalna()
{
global
$a; // import zmiennej globalnej
$b = 2;
$c = $a + $b;
return
$c;
}

echo
globalna(); // wypisze liczbę 7
?>


Komentarzy: 0
Polecamy
Newsletter
Chcę otrzymywać informacje o nowościach na stronie!

Mój adres email:
Zgadzam się z Polityką Prywatności.

Pamiętaj - nigdy, nikomu nie udostępniamy Twojego adresu email!

Jeszcze nie przekonany? Zobacz jak wygląda przykładowy newsletter
Strona główna | Tworzenie strony | Promocja strony | Zarabianie na stronie | Narzędzia | Mapa strony

High Web Profit - Jak zrobić dochodową stronę internetową?
Marcin Chrapka i Lukasz Piernikarczyk

statystyki www stat.pl