Skocz do zawartości

Kurs PHP by PanKrok - Teoria #1 Wstęp i operatory


Pankrok
 Udostępnij

Rekomendowane odpowiedzi

  • Ekspert
Opublikowano
Opublikowano

Cześć. W związku z tym że aktualny kurs PHP od SeNioRa jest mocno zwięzły postanowiłem wrzucić swoje trzy grosze które miałem zamieścić na swoim blogu, uznałem jednak ze bardziej przydadzą się tutaj. Dzisiejszy wpis poświęcony jest teorii i operatorom.

Jeśli zastanawiasz się dlaczego język PHP, odpowiedź znajdziesz poniżej?

Spoiler

obraz.png.787758039aa4dc66f97a6ab29cf9bc7b.png

Kurs chcę podzielić na 2 części teoretyczną i praktyczną, część teoretyczna to całkowite podstawy za to w części praktycznej postaram się zrobić coś fajnego 😉

Nie twierdzę ze jestem mistrzem w tym zganieniu, jako dev pracuję od niedawna do branży trafiłem przypadkiem, podczas opisywania teorii posiłkowałem się dokumentacja PHP. Dlatego jeśli ktoś znajdzie coś co można zrobić lepiej dawajcie znać. Tymczasem ad rem!

Co znajdziesz w tym wpisie:

  1. Wstęp - uzupełnienie do już dostępnych artykułów,
  2. Operatory - czyli operacje na danych

Jak się przygotować do kursu PHP?

Zainstaluj XAMPP na swoim komputerze, ściągnij dowolny edytor tekstu który podświetla składnię. Jesteś gotowy do nauki 🙂

Wstęp do kursu PHP

Tutaj moja uwaga od wersji 7.0 mamy możliwość określenia typu danych jakie ma zwracać dana zmienna poprzez umieszczenie kodu:

<?php declare(strict_types=1);

więcej o tym zapisie dowiesz się w części poświęconej funkcjom: Typy danych (string, integer, float, boolean, arrary....)

jako uzupełnienie dodam że PHP pozwala również na tworzenie stałych. Do dyspozycji mamy dwie opcje tworzenia stałych:

<?php declare(strict_types=1);

const FOO = 'bar';
define('FOO', 'bar');

to czym się różnią te sposoby opiszę w dalszej części kursu, obecnie jedyne co musisz wiedzieć to jak definiować stałe.

Tyle słowem wstępu teraz przejdźmy do bardziej przyjemnych rzeczy.

Operatory

Operatory powalają nam zarządzać danymi, porównywać je, działać na nich. Typy operatorów dzielimy na:

  • arytmetyczne,
  • błędu
  • ciągu
  • inkrementacji / dekrementacji
  • logiczne
  • operacji bitowych - ten temat zostawimy na inny dzień,
  • porównania
  • przypisania,
  • wywołania

Operatory arytmetyczne - to nic innego jak matematyka, na pewno wielokrotnie będziesz z nich korzystał. Wyobraź sobie że pobierasz dane na temat ceny netto i chcesz uzyskać cenę brutto. Zapewne użyjesz operatora mnożenia *

<?php 
$a = 3;
$b = 2;

// dodawanie
echo PHP_EOL . 'dodawanie ';
echo $a + $b; // = 5
// odejmowanie
echo PHP_EOL . 'odejmowanie ';
echo $a - $b; // = 1
// mnożenie
echo PHP_EOL . 'mnożenie ';
echo $a * $b; // = 6
// dzielenie
echo PHP_EOL . 'dzielenie ';
echo $a / $b; // = 1.5
echo PHP_EOL . 'modulo ';
// modulo (dzielenie bez reszty)
echo $a % $b; // = 1

Operator błędu - @ - ukrywa błędy, nie polecam korzystania z tego operatora, wyrządzi wam więcej szkody niż pożytku zwłaszcza na początku kodzenia w PHP:

<?php

$con = @mysqli_connect("localhost","root","","foo_db");
// nie wyświetli błędu nawet jeśli połączoenie z bazą danych nie zostanie nawiązane

Operator ciągu - . kropka czyli łączenie ciągów znaków, daje nam możliwość połączenia wielu ciągów w jeden. Po co łączymy ciągi znaków? Powiedzmy że masz dwie zmienne miasto i ulicę od  użytkownika, wygodniej będzie nam to zostawić w jednej zmiennej do wyświetlenia niż w dwóch, więc połączymy sobie te stringi.

<?php

$foo = 'foo';
$bar = 'bar';
$bazBarFoo = 'baz';

$fooBar = $foo . $bar;
echo $fooBar; // wyświetli "foobar"
$bazBarFoo .= $bar . $foo;
echo PHP_EOL; // nowa linia nie zwracaj na to na razie uwagi, wstawiamy dla lepszej czytalności
echo $bazBarFoo; // wyświetli "bazbarfoo"

Operator inkrementacji / dekrementacji - ++ / -- inkrementacja i dekrementacja pozwala zwiększyć lub zmniejszyć o jeden wartość naszej zmiennej, dodatkowo dzieli się na pre i post.

  • preinkrementac i predekremenatcja - zwiększa / zmniejsza zmienną i zwraca wynik,
  • postinkrementac i postdekremenatcja - zwraca wynik i zwiększa / zmniejsza zmienną,

łatwiej zrozumieć to na poniższym przykładnie:

<?php

$foo = 5;

echo ++$foo; // wyświetli się 6 bo zwiększyliśmy zmienną i dopiero ją wyświetlamy
echo PHP_EOL;

echo $foo++; // wyświetli się 6 bo najpierw wyświetlamy zmienną a potem ją zwiększamy
echo PHP_EOL;
echo $foo; // teraz mamy już 7 :)

echo PHP_EOL;
echo --$foo; // jak myślisz co tutaj dostaniemy?
echo PHP_EOL;

echo $foo++;
echo PHP_EOL;
echo $foo;

a teraz wyobraź sobie że masz 50 klientów i każdy musi posiadać swój numer żeby odebrać swojego burgera z wołowiną i cebulą, przypisani tego ręcznie będzie bez sensu, zwłaszcza jeśli liczba użytkowników może się zmienić, inkrementacja pozwoli na łatwe i szybkie przypisanie każdemu jego numeru.

Operatory logiczne - pozwalają nam zbudować instrukcje warunkowe najczęściej łączone z operatorem porównania działa to zgodnie z logiką znaną z matematyki:

<?php

$a = true;
$b = false;

var_dump($a && $b);
var_dump($a || $b);
var_dump(!$a);

Wyobraź sobie że chcesz aby na twojej stronie wyświetlał się użytkownik który jest online lub jest administratorem, przy się "LUB".
Operatory porównania
- korzystamy z nich aby uzyskać informację zwrotną na temat porównania 2 wartości:

<?php

$a = true;
$b = false;
$c = 'Pecetowicz';
$d = 1;
$f = 2;

// jest równe
var_dump($a == $b); // zwraca false
var_dump($a == $c); // uwaga to zwróci true :O
var_dump($a == $d); // uwaga to zwróci true :O

var_dump($a === $b); // zwraca false
var_dump($a === $d); // zwraca false
var_dump($a === $c); // zwraca false

// nie jest równe
var_dump($a != $b); // zwraca true
var_dump($a != $c); // uwaga to zwróci false :O
var_dump($a != $d); // uwaga to zwróci false :O
var_dump($a !== $b); // zwraca true
var_dump($a !== $c); // zwraca true
var_dump($a !== $d); // zwraca true

// jest większe
var_dump($d > $f); // zwraca false

// jest większe lub równe
var_dump($d >= $f); // zwraca false

// jest mniejsze
var_dump($d < $f); // zwraca true

// jest mniejsze lub równe
var_dump($d <= $f); // zwraca true

tutaj uwaga PHP pozwala na porównanie różnych typów zmienny poprzez operatory == czy != NIGDY Z NICH NIE KORZYSTAJ!

Wyobraź sobie że właśnie zrobiłeś swój panel administracyjny, ale nie każdy może tam wejść, przed wpuszczeniem porównasz flagę użytkownika z zapisanymi w np. bazie flagami dla adminów.

Operator przypisania  - = może występować w kombinacji z operatorami arytmetycznymi i ciągu znaków

<?php

$foo = 1;

$foo += 5; // zmienna przyjmie wartość 6
$foo -= 3; // zmienna przyjmie wartość 3
$foo *= 3; // zmienna przyjmie wartość 9
$foo /= 3; // zmienna przyjmie wartość 3
$foo %= 2; // zmienna przyjmie wartość 1

$bar = 'string';
$bar .= ' and other string'; // zmienna przyjmie wartość 'string and other string'

Dobra nie mam pomysłu na przykład, masz 5 czosnków i już przypisałeś sobie je do zmiennej ale zjadłeś 3, można to naprawić przez -=

Operator wywołania  - echo z tego operatora korzystaliśmy już wielokrotnie, wyświetla to co mamy w zmiennej 🙂

Tutaj chyba nie muszę pisać gdzie go wykorzystasz, chcesz coś wyświetlić wzywasz echo

-----

Jeśli dotarłeś aż tutaj gratuluję, jeśli nie zapamiętałeś niczego nie martw się, ta wiedza musi się "uleżeć" i sama wejdzie w krew kiedy zaczniemy działać na przykładach. Z tej suchej wiedzy skorzystamy w kolejnej części kursu podczas omawiania struktur kontrolnych.


Pozdrawiam
PanKrok

Odnośnik do komentarza
Udostępnij na innych stronach

  • Ekspert
Opublikowano
Opublikowano

Tutaj trochę więcej o "strict_types": Strict types w php

Odnośnik do komentarza
Udostępnij na innych stronach

  • Ekspert
Opublikowano
Opublikowano

@-n3veR to miałem zamiar wrzucić dopiero przy funkcjach bo tam najlepiej wytłumaczyć dobrodziejstwo strict_types 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Ekspert
Opublikowano
Opublikowano
1 minutę temu, Pankrok napisał:

@-n3veR to miałem zamiar wrzucić dopiero przy funkcjach bo tam najlepiej wytłumaczyć dobrodziejstwo strict_types 

To przepaszam w takim razie 😛 miałem jeszcze dorzucić więcej o "ciągach" (konkatenacji w sensie), ale skoro funkcje będą później, to można usunąć komentarze 😉 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Założyciel
Opublikowano
Opublikowano

Cześć. Dzięki że postanowiłeś dodać kurs u nas na Pecetowiczu i trochę podratować w jakiś sposób mój "tyłek" 🙂 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...
  • Ekspert
Opublikowano
Opublikowano

@Dexter Morganna dniach pojawi się kolejna część, stay tuned.

Odnośnik do komentarza
Udostępnij na innych stronach

Problem wciąż nierozwiązany? Dodaj swoją odpowiedź

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto. Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

×