PHP – zmienne, typy danych i operatory


ZDEFINIOWANIE ZMIENNYCH

$a = 10;
$b = 3;

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)