ZDEFINIOWANIE ZMIENNYCH
Zmienna, to nic innego jak kontener przechowujący w sobie pewną wartość, którą można „podmieniać” w trakcie realizacji skryptu.
W celu zdefiniowania zmiennej w języku php, należy użyć znaku $, a następnie podać nazwę zmiennej np. $zmienna, $suma itd.
Podczas tworzenia nazw zmiennych powinniśmy przestrzegać pewnych zasad:
- nazwa zmiennej nie może rozpoczynać się od cyfry
- nie powinna zawierać polskich znaków
- w nazwie nie umieszczamy spacji
- używamy tylko liter, cyfr i znaków podkreślnika
- rozróżniana jest wielkość liter
Przykład deklaracji zmiennych:
$a = 10;
$b = 3;
Jak możemy zauważyć – nie trzeba deklarować typu zmiennej! PHP sam identyfikuje typ zmiennej, w zależności od jej zawartości.
STAŁE
Stała, to kontener przechowujący wartość, która jest niezmienna w trakcie realizacji skryptu.
W odróżnieniu od zmiennej, stałą należy zdefiniować, a jej nazwę podajemy drukowanymi literami:
define(’NAZWA_STALEJ’, wartość_stałej);
WYŚWIETLANIE ZMIENNYCH I STAŁYCH
W celu wyświetlenia zmiennej i/lub stałej wystarczy użyć instrukcji echo:
$zmienna = "Ala";
echo $zmienna;
define('STALA', "kota");
echo STALA;
STOSOWANIE OPERATORÓW
OPERATORY ARYTMETYCZNE
dodawanie: $a + $b = 10 + 3 = 13
odejmowanie: $a – $b = 10 – 3 = 7
mnożenie: $a * $b = 10 * 3 = 30
dzielenie: $a / $b = 10 / 3 = 3.3333333333333
dzielenie modulo: $a % $b = 10 % 3 = 1
potęgowanie: $a ** $b = 10 ** 3 = 1000
negacja: -$a = -10
OPERATOR PRZYPISANIA
przypisanie: $c = 5
ŁĄCZONE OPERATORY PRZYPISANIA
$c = 12;
$d = 6;
$c += $d to jest to samo co $c = $c + $d, czyli 12 + 6 = 18
$c -= $d to jest to samo co $c = $c – $d, czyli 12 – 6=6
$c *= $d to jest to samo co $c = $c * $d, czyli 12 * 6=72
$c /= $d to jest to samo co $c = $c / $d, czyli 12 / 6=2
$c %= $d to jest to samo co $c = $c % $d, czyli 12 % 6=0
PRE- I POSTINKREMENTACJA ORAZ DEKREMENTACJA
zadeklarowaliśmy zmienną $e = 5
$e++ = 5 (oczekujemy 5, ponieważ najpierw jest zwracana zmienna, a później zwiększana, zmiana nastąpi dopiero po zakończeniu instrukcji echo)
$e wynosi teraz 6 (funkcja echo sie zakończyła, więc otrzymujemy powiększoną zmienną)
zadeklarowaliśmy zmienną $f = 7
++$f = 8(oczekujemy 8, ponieważ najpierw jest zwiększana zmienna, a później zwracana jej wartość)
zadeklarowaliśmy zmienną $g = 6
$g-- = 6;
(oczekujemy 6, ponieważ najpierw jest zwracana zmienna, a później zmniejszana, zmiana nastąpi dopiero po zakończeniu instrukcji echo)
$g wynosi teraz 5 (funkcja echo sie zakończyła, więc otrzymujemy pomniejszoną zmienną)
zadeklarowaliśmy zmienną $h = 8
--$h = 7
(oczekujemy 7, ponieważ najpierw jest zmniejszana zmienna, a później zwracana jej wartość)
OPERATORY ŁĄCZENIA CIĄGÓW
łączenie ciągów: $a . $b = 10 . 3 = 103
$c .= $d to jest to samo co $c = $c . $d, czyli 12 . 6=126
$a.=" to jest dalsza część zmiennej";
wyświetli: 10 to jest dalsza część zmiennej
OPERATORY PORÓWNANIA
$a==$b sprawdza czy są takie same i zwraca wartość true lub false, czyli 10 == 3 zwraca false
$a===$b sprawdza czy są identyczne (czyli takie same + taki sam typ zmiennej) i zwraca wartość true lub false, czyli 10 === 3 zwraca false
$a!=$b sprawdza czy są różne i zwraca wartość true lub false, czyli 10 != 3 zwraca true
$a<>$b sprawdza czy są różne i zwraca wartość true lub false, czyli 10 <> 3 zwraca true
$a!==$b sprawdza czy nie są identyczne (czyli takie same + taki sam typ zmiennej) i zwraca wartość true lub false, czyli 10 !== 3 zwraca true
$a>$b sprawdza czy $a jest większe od $b i zwraca wartość true lub false, czyli 10 > 3 zwraca true
$a<$b sprawdza czy $a jest mniejsze od $b i zwraca wartość true lub false, czyli 10 < 3 zwraca false
$a>=$b sprawdza czy $a jest większe lub równe $b i zwraca wartość true lub false, czyli 10 >= 3 zwraca true
$a<=$b sprawdza czy $a jest mniejsze lub równe $b i zwraca wartość true lub false, czyli 10 <= 3 zwraca false
OPERATORY LOGICZNE
if($a < 10 and $b != 2) oba warunki muszą być spełnione, zwraca true lub false, czyli if(10 < 10 and 2 != 2) zwraca false
if($a == 7 && $b == 2) oba warunki muszą być spełnione, zwraca true lub false, czyli if(10 == 7 && 2 == 2) zwraca false
if($a >= 5 or $b > 7) jeden lub oba warunki są spełnione, zwraca true lub false, czyli if(10 >= 5 or 2 > 7) zwraca true
if(10 == 5 || 2 > 6) jeden lub oba warunki są spełnione, zwraca true lub false, czyli if(10 == 5 || 2 > 6) zwraca false
if($a == 5 xor $b == 3) tylko jeden z warunków musi być spełniony, ale nie oba, zwraca true lub false, czyli if(10 == 5 xor 2 == 3) zwraca false
if($a == 5 ^ $b == 3) tylko jeden z warunków musi być spełniony, ale nie oba, zwraca true lub false, czyli if(10 == 5 ^ 2 == 3) zwraca false
if(!(10 == 8)) zaprzeczenie, zwraca true lub false, czyli if(!(10 == 8)) zwraca true
OPERATOR REFERENCJI – &
//operacje na wartościach - bez referencji
$a = 5;
$b = $a; //$b jest kopią $a
$a = 7;//nie zmienia to wartości $b
$a przechowuje 7, $b przechowuje 5
//zastosowanie operatora referencji
$a = 5;
$b = &$a; //$b wskazuje na ten sam adres pamięci co $a
$a = 7; //zmieniając $a zmieniamy wartość $b
$a przechowuje 7, $b przechowuje 7
OPERATOR TRÓJKOWY
$stopien = 3;
//operator trójkowy
$stopien > 1 ? $wynik = 'pozytywny' : $wynik = 'negatywny';
//ten sam zapis w instrukcji if...else...
if ($stopien>1) $wynik = 'pozytywny'; else $wynik = 'negatywny';
Zostanie wyświetlone: pozytywny
OPERATOR TŁUMIENIA BŁĘDÓW @
$a = 3.25;
$b = 0; //Uwaga - nie ma dzielenia przez zero!
$c = $a / $b; //błąd - zatrzymanie wykonywania skryptu
echo $c; //ta instrukcja nie będzie wykonana
Zostanie wyświetlone:
Warning: Division by zero in C:\xampp\htdocs\zajecia\operatory.php on line 376
NAN
$c = @($a / $b); //kontynuacja skryptu
echo 'Błąd został stłumiony';
Zostanie wyświetlone: Błąd został stłumiony
OPERATORY TABLICOWE
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
// union of $x and $y
echo '<pre>';
print_r($x + $y);
echo '</pre>';
Wyświetli:
Array
(
[a] => red
[b] => green
[c] => blue
[d] => yellow
)
//Returns true if $x and $y have the same key/value pairs
var_dump($x == $y);
Wyświetli: bool(false)
//Returns true if $x and $y have the same key/value pairs in the same order and of the same types
var_dump($x === $y);
Wyświetli: bool(false)
//Returns true if $x is not equal to $y
var_dump($x != $y);
Wyświetli: bool(true)
//Returns true if $x is not equal to $y
var_dump($x <> $y);
Wyświetli: bool(true)
//Returns true if $x is not identical to $y
var_dump($x !== $y);
Wyświetli: bool(true)
ZADANIA:
1. Napisz skrypt, który wyświetli w oknie przeglądarki tekst:
Tomorrow I’ll learn PHP global variables.
oraz tekst:
This is a bad command : del c:\\*.*
Każdy napis w osobnej linii.
2. Utwórz zmienną zawierającą tekst: Kocham PHP i wyświetl ją.
3. Zdefiniuj stałą URL, przypisz do niej adres internetowy i wyświetl ją.
4. Zadeklaruj 2 zmienne $a = 10 i $b = 3. Wykonaj na nich operacje arytmetyczne i wyświetl wyniki w postaci:
dodawanie: $a + $b = 10 + 3 = 13…
wykonaj te czynności z: +, -, *, /, %, **, negacja.
5. Zadeklaruj zmienne $c = 12 i $d = 6. Przetestuj na nich łączone operatory przypisania i wyświetl wyniki w formacie:
$c += $d to jest to samo co $c = $c + $d, czyli 12 + 6 = 18…
6. Uruchom poniższy kod i przeanalizuj go.
<?php
$A = 5; $B = 9; $C = 5;
// Operatory porównania zwracają TRUE lub FALSE więc używamy komendy var_dump()
var_dump( $A == $B );
var_dump( $A != $B );
var_dump( $A == $C );
var_dump( $A === $C );
?>
Na jego podstawie wykonaj poniższe zadanie:
Utwórz dwie zmienne o nazwach $first, $second. Przypisz do nich dwie różne wartości logiczne jakie znasz (true i false). Użyj komendy var_dump() aby sprawdzić wynik porównania ich ==. Zmień wartość zmiennej second na przeciwną i ponownie sprawdź wynik. Ustaw obie zmienne na wartość false i ponownie sprawdź wynik. Sprawdź co się stanie, jeśli komendę var_dump zamienisz na komendę echo.
7. Utwórz trzy zmienne o nazwach $nr1, $nr2, $resultModulo. Dwie niech przechowują dowolne liczby całkowite. Trzecia o nazwie $resultModulo niech przechowuje liczbę 0. Oblicz resztę z dzielenia (modulo) tych liczb ($nr1 modulo $nr2) i zapisz wynik w zmiennej $resultModulo. Wypisz zmienną $resultModulo w konsoli za pomocą komendy echo
8. Wyświetl informację o aktualnie używanej wersji php
9. Napisz skrypt, który umieści na stronie w znacznikach H1 napis: “PHP – podstawy”.
10. Utwórz zmienną o nazwie $php i przypisz do niej napis: “$$ PHP ćwiczymy string $$”. Następnie, umieść zawartość tej zmiennej w tytule strony oraz w nagłówku H2 w widoku strony.
11. Trzy zmienne zostały zdefiniowane:
$a = 2;
$pi = 3.14;
$tekst = „Jestem mistrzem PHP”;
używając zmiennych $a, $pi, $tekst napisz skrypt wyświetlający następujący tekst:
2 to liczba parzysta
Liczba PI to: 3.14
Jestem mistrzem PHP
12. Wyświetl wynik dodawania, odejmowania, dzielenia, mnożenia, reszty z dzielenia i potęgowania dwóch zmiennych:
$a = 4;
$b = 8;
13. Napisz skrypt, który zamienia między sobą wartości dwóch zmiennych:
$zmiennax1 = 10;
$zmiennax2 = 12;
14. Przygotuj skrypt, który obliczy pole powierzchni i obwód prostokąta o bokach $x i $y:
$x = 20;
$y = 100;