kurs php

http://phpkurs.pl/skladnia

ZMIENNE

<?php

   $nazwa = 1; // Zmiennej "nazwa" przypisywana jest wartość liczbowa 1

   $druga_nazwa = "Tekst"; // Zmiennej "druga_nazwa" przypisany jest ciąg znaków "Tekst"

   $trzecia_nazwa = $nazwa; // Zmiennej "trzecia_nazwa" przypisywana
                            //jest wartość zmiennej "nazwa"

   echo "To jest $druga_nazwa"; // Powinien wyświetlić się napis "To jest Tekst"

   echo '$druga_nazwa'; // Powinien wyświetlić się napis "$druga_nazwa"

   echo $nazwa; // Powinna wyświetlić się cyfra 1

?>

 

Zmienne ustawiane przez serwer WWW

PRZYKŁAD ZASTOSOWANIA:

echo $_SERVER['SERVER_NAME'];

Zmienne ustawiane przez serwer WWW

GATEWAY_INTERFACE
Informacja o specyfikacji CGI używanej przez serwer, np. ‚CGI/1.1’.
SERVER_NAME
Nazwa hosta serwera na którym skrypt jest uruchamiany. Jeśli skrypt pracuje na wirtualnym hoście, to zmienna przyjmie jako wartość nazwę wirtualnego hosta.
SERVER_SOFTWARE
Ciąg identyfikujący serwera podawany przy odpowiadaniu na zapytania.
SERVER_PROTOCOL
Nazwa i numer wersji protokołu za pomocą którego wysłano zapytanie o stronę, np. ‚HTTP/1.0’;
REQUEST_METHOD
Metoda zapytania użyta do uzyskania dostępu do strony, np. ‚GET’, ‚HEAD’, ‚POST’, ‚PUT’.
QUERY_STRING
Ciąg zapytania (jeśli takowy istnieje) za pomocą którego połączono się ze stroną.
DOCUMENT_ROOT
Katalog główny drzewa dokumentów spod którego skrypt jest wykonywany – jest to ustawienie z pliku konfiguracyjnego serwera.
HTTP_ACCEPT
Nagłówek z aktualnego zapytania, jeśli taki istnieje.
HTTP_ACCEPT_CHARSET
Zawartość nagłówka „Accept-Charset” z aktualnego zapytania, jeśli taki istnieje, np. ‚iso-8859-1,*,utf-8’.
HTTP_ENCODING
Zawartość nagłówka „Accept-Encoding” z aktualnego zapytania, jeśli taki istnieje, np. ‚gzip’.
HTTP_ACCEPT_LANGUAGE
Zawartość nagłówka „Accept-Language” z aktualnego zapytania, jeśli taki istnieje, np. ‚en’.
HTTP_CONNECTION
Zawartość nagłówka „Connection” z aktualnego zapytania, jeśli taki istnieje, np. ‚Keep-Alive’.
HTTP_HOST
Zawartość nagłówka „Host” z aktualnego zapytania, jeśli taki istnieje.
HTTP_REFERER
Adres strony (jeśli taka była), która wskazała przeglądarkę do tej strony. Wartość ta jest ustawiana przez przeglądarkę – nie wszystkie to robią.
HTTP_USER_AGENT
Zawartość nagłówka „User-Agent” z zapytania, jeśli taki istnieje. Jest to ciąg informujący o przeglądarce która została użyta do obejrzenia bieżącej strony, np. Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Można użyć funkcji get_browser() aby dopasować funkcjonalność strony do przeglądarki użytkownika.
REMOTE_ADDR
Adres IP z którego użytkownik połączył się z serwerem.
REMOTE_PORT
Port używany do komunikacji pomiędzy użytkownikiem a serwerem.
SCRIPT_FILENAME
Ścieżka do aktualnie wykonywanego skryptu.
SERVER_ADMIN
Wartość podana dla opcji SERVER_ADMIN w konfiguracji serwera WWW. Jeśli skrypt działa na wirtualnym serwerze, to będzie to wartość podana dla tego wirtualnego serwera.
SERVER_PORT
Port na serwerze którego użyto do połączenia. Dla normalnych połączeń będzie to ’80’.
SERVER_SIGNATURE
Ciąg zawierający wersję i nazwę wirtualnego hosta który jest dodawany do stron generowanych przez serwer.
SCRIPT_NAME
Zawiera ścieżkę do aktualnie wykonywanego pliku. Jest to przydatne do skyptów, które muszą wskazywać samego siebie.
REQUEST_URI
URI który został podany aby uzyskać dostęp do tej strony.

Przykład 3.3. Przykład funkcjonowania inkrementacji i dekrementacji

<?php
echo "Postinkrementacja";
$a = 5;
echo "Powinno być 5: " . $a++ . "\n";
echo "Powinno być 6: " . $a   . "\n";

echo "Preinkrementacja";
$a = 5;
echo "Powinno być 6: " . ++$a . "\n";
echo "Powinno być 6: " . $a   . "\n";

echo "Postdekrementacja";
$a = 5;
echo "Powinno być 5: " . $a-- . "\n";
echo "Powinno być 4: " . $a   . "\n";

echo "Predekrementacja";
$a = 5;
echo "Powinno być 4: " . --$a . "\n";
echo "Powinno być 4: " . $a   . "\n";
?>

http://phpkurs.pl/struktury/

Pętla FOR

Czasem zachodzi potrzeba wykonania jakiejś czynności określoną ilość razy. Z pomocą przychodzi jedna z najczęściej używanych składni w większości języków programowania, czyli pętla FOR. Ogólny zapis wygląda tak:

Przykład 4.5. Pętla FOR

<?php

for( inicjalizacja zmiennych ; sprawdzenie warunku ; modyfikacja zmiennych) {

   blok wyrażeń 

}

?>

Jak widać, w tej pętli podaje się 3 wyrażenia jako parametry: inicjalizację zmiennych, czyli ustawienie początkowych wartości dla zmiennych kontrolujących pętlę, sprawdzenie warunku, czyli wyrażenie logiczne kontrolujące pętlę – pętla będzie wykonywana dopóki ten warunek jest prawdziwy, oraz modyfikację zmiennych kontrolujących pętlę – bez tego pętla będzie wykonywała się w nieskończoność (oczywiście wartość tych zmiennych można modyfikować wewnątrz pętli, ale jest to niezalecane). Przykład najprostszej pętli, która wypisze cyfry od 1 do 10:

Przykład 4.6. Przykład użycia pętli for

<?php

for( $x = 1; $x <= 10; $x++ )
   echo $x."<br>";

?>

Pętla while

Innym rodzajem pętli jest pętla WHILE. Jest ona wykorzystywana w sytuacjach, kiedy niezbędne jest wykonywanie jakiejś operacji dopóki nie zostanie spełniony warunek.

Przykład 4.7. Pętla while

<?php

while( warunek ){
   ...
   instrukcje
   ...
}

?>

Można na przykład za pomocą tej pętli zapisać odpowiednik pętli FOR z poprzedniego przykładu.

Przykład 4.8. Przykład użycia pętli while

<?php

$x=1;
while($x <= 10){
   echo $x."<BR>";
   $x++;
}

?>

Pętla do…while

Odmianą pętli while jest pętla do…while. Od zwykłej pętli while różni się ona tym, że polecenia zawarte w pętli będą przynajmniej raz wykonane – w przypadku pętli while tak być nie musi, to znaczy jeśli za pierwszym razem warunek nie zostanie spełniony to polecenia z pętli nigdy nie zostaną wykonane. W przypadku tej pętli zostano one wykonane przynajmniej ten pierwszy raz.

Przykład 4.9. Pętla do … while

<?php

do {
   ...
   instrukcje
   ...
} while( warunek );

?>

Przerywanie wykonań pętli

Czasem zachodzi potrzeba przerwania danej iteracji (powtórzenia) pętli i przejścia do następnej iteracji. Z pomocą wtedy przychodzi instrukcja continue. Wystarczy wstawić ją w odpowiednie miejsce wewnątrz pętli. Przykład (niezbyt wyszukany):

Przykład 4.10. Instrukcja continue

<?php

for($x = 1; $x<=100; $x++) {

   if($x % 2 != 0)
      continue;

   echo $x." ";
}

?>

Po uruchomieniu powyższego przykładu powinniśmy zobaczyć liczby parzyste od 1 do 100. Oczywiścje można to zapisać łatwiej.

Przykład 4.11. Wyświetlanie liczb parzystych

<?php

for($x = 2; $x <= 100; $x+=2) {
      echo $x." ";
}

?>

Istenie też polecenie, które powoduje całkowite wyjście z pętli – nie tylko z bieżącej iteracji. To polecenie to "literal">brake. Załóżmy, że zmienna $nazwa to zmienna podana z formularza:

Przykład 4.12. Instrukcja brake

<?php

for($x = 0; $x<10; $x++) {
   if($x%2==0)
      echo $x." ";
   if($nazwa == "Test1")
      break;
}

?>

Składnia switch

Składnia switch jest instrukcją warunkową, ale jedną zmienną można porównać nie z jedną wartością, ale z kilkoma. Niestety nie można konstruować złożonych warunków – możliwe jest tylko proste porównywanie (równoważne instrukcji:if($zmienna=="wartość") instrukcja).

Przykład 4.13. Składnia switch

<?php

switch($zmienna){
   case 'wartość1':
      ...
   instrukcje
   ...
   break;
   case 'wartość2':
      ...
   instrukcje
   ...
   break;
   default:
      ...
   instrukcje
   ...
}

?>

Instrukcje zawarte po identyfikatorze „default” wykonywane są jeśli zmienna $zmienna nie przyjęła wartości „wartość1” i „wartość2” (dla tego przykładu). Aby móc dobrze wykorzystać tą składnię warto jest dokładnie wiedzieć jak ona działa. Instrukcje są przetwarzane linia po linii. Parser przechodzi do pierwszej linii „case” pasującej do zmiennej. Następnie przetwarzane są wszystkie linie wewnątrz nawiasów klamrowych aż do napotkania instrukcji break – nawet jeśli po drodze znajdują się instrukcje „case”.

Przykład 4.14. Przykład użycia składni switch

<?php

$i = 3;

switch($i){
   case 0:
   case 1:
   case 2:
   case 3:
      echo "Zmienna $i jest mniejsza bądź równa od trzech\n";
   break;
   case 4:
      echo "Zmienna $i jest równa cztery\n";
   break;
   default:
      echo "Zmienna $i jest większa od czterech\n";
}

?>
Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s