Varibile PHP

postat acum 2 ani de Stefanescu Mihai in categorie PHP

Principalul mod de a stoca informatii este in mijlocul programului PHP folosind variabile.

Aici am pus o lista cu cele mai importante lucruri pe care trebuie sa le stii despre variabile.

    • Toate variabilele incep cu semnul dolarului ($)Valoarea variabilei este varloarea data la ultima atribuireValorile variabilelor sunt atribuite cu semnul egal (=)Varibilele pot fi (nu este absolut necesar ca in alte limbaje ex: C++) declarate inainte de atribuire.Variabilele PHP nu necesita un tip (ex: in C++ punem int numar = 7; in php putem pune $numar = 7;)PHP converteste automat tipurile de date cand este necesar (ex: in Java aveam ceva de genul

Integer.toString(i)

  • ).Variabilele PHP sunt asemanatoare cu cele din PERL

In PHP exista 8 tipuri de date

  • Integer: Numere intregi (fara zecimale).ex: 43.
  • Double: Numere cu zecimale.ex: 3.14159
  • Boolean: Are doar doua valori posbile: TRUE sau FALSE.
  • NULL: Acesta este un tip special de date si are o singura valoare: NULL (atentie, null este diferit de 0, false sau spatiu gol).
  • String: Acestea sunt bine cunoscutele siruri de carctere. ex: “PHP-ul este grozav!”.
  • Array: Colectii de informatii indexate in anumite moduri (i-ati intalniti in liceu/facultate cu denumirea de vectori).
  • Object: Instante ale unor clase definite anterior.
  • Resource: Tip special ce contine o referinta catre o resursa externa.ex: o conexiune  cu baza de date.

Integer

Acestea sunt numere intregi, fara zecimale, numere precum 83 sau -45 (numere intregi, nu conteaza daca sunt pozitive sau negative).

Acesta este un tip simplu de date si poate fi folosit in urmatorul mod:

$int = 123;
$alt_int = -123 + 456;

variabilele integer pot fi in sistemul zecimal (baza 10), octal (baza 8) sau hexazecimal (baza 16). Sistemul zecimal (baza 10) este folosit in mod standard, sistemul octal este specificat cu un 0 inaintea numarului, iar cel hexazecimal incepe cu un 0x.

Pentru majoritatea platformelor cel mai mare numar intreg este 2**31.1 sau 2,147,483,647.

Double

Acestea sunt numere precum3.14159. De obicei aceste numere sunt printate pe ecran cu umarul minim de zecimale, de exemeplu:

$zeimale_multe = 3.2999999;
$zeimale_multe_2 = 4.2111200;
$putine = $zeimale_multe + $zeimale_multe_2;
print($zeimale_multe + $zeimale_multe_2 = $putine."<br/>");

Rezultatul va fi:

3.2999999 + 4.2111200 = 7.5

 Boolean

Acest tip de variabile pot avea decat 2 variante TRUE si FALSE

if (TRUE)
   print("Acest cod va fi printat pe ecran<br/>");
else
   print("Acest cod nu va fi printat pe ecran<br/>");

Interpretarea altor tipuri de date ca Boolean

Mai jos am scris regulile variabilelor ce sunt considerate TRUE:

  • Daca discutam de numere atunci 0 = FALSE, orice altceva este TRUE
  • Daca discutam despre string-uri string gol = FALSE sau stringul este 0 atunci = FALSE, orice altceva este TRUE
  • Daca discutam despre un array este FALSE daca array-ul este gol, altfel este TRUE.
  • Daca discutam despre o data resource valida atunci este TRUE, altfel este FALSE.
  • Nu folositi double-uri pe post de Boolean.

Fiecare dintre aceste variabile de mai jos are trecut in nume valoarea booleana:

$true_number = 3 + 0.14159;
$true_string = "Asta este TRUE"
$true_array[49] = "Un element al Array-ului, deci este TRUE";
$false_array = array();
$false_null = NULL;
$false_nummber = 999 - 999; //asta este 0, deci FALSE
$false_string = ""; // asta este un string gol, deci este false

NULL

NULL este un tip special de date ce are o singura valoare: NULL.

//O variabila cu valoarea NULL
$variabila = NULL;
//NULL este case insensitive, deci si acest cod va functiona:
$variabila = null;

O variabila cu valoarea NULL are urmatoarele proprietati:

    • Este evaluat ca fiind FALSE daca discutam intr-un context boolean

Returneaza FALSE cand este testata folosind functia IsSet()

String

Aceste string-uri sunt de fapt siruri de caractere, de exemplu: “PHP este un limbaj extraordinar!”. Iata si cateva tipuri de stringuri:

$string_1 = "String pus in ghilimele.";
$string_2 = 'Acesta este un string pus in single quotes (ghilimele simple)';
$string_0 = ""; // Acesta este un string cu 0 caractere

String-urile scrise intre single quotes (‘) sunt tratata ca si un text, iar cele in double quotes (“) inlocuiesc variabilale cu valoriule lor.

<?php
$variabila = "Mihai";
$string_1 = 'Ma numesc $variabila !\\n';
print($string_1);
$string_2 = "Ma numesc $variabila !\\n";
print($string_2);
?>

Rezultatul fiind:

Ma numesc $variabila !\n
Ma numesc Mihai !

Nu exista o limita definita a string-urilor (depinde de limita de marime a memoriei valabile).

Ce inseamna anumite escape-sequenceuri:

  • \n este similar cu <br/>, introduce un rand nou.
  • \r similar cu \n sau <br/>, difera doar in unele sisteme de operare.
  • \t este similar cu  un tab
  • \$ este inlocuit cu semnul dolarului ($)
  • \” este inlocuit cu “
  • \\ este inlocuit cu un backslash (\)

Constructia HereDoc

Cu acest tip de construtie puteti creea un string de mai multe linii:

<?php

$stringulMeu =<<<_XML_
<channel>
<title>Variabilele PHP<title>
<link>http://invata-programare.ro/<link>
<description>O lectie despre Variabilele PHP.</description>
</channel>
_XML_;

echo <<<END
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<br />
END;

print $stringulMeu;
?>

Conventie Nume Variabile

Reguli de denumire a variabilelor:

Pot contine numere, litere si underscore, dar nu pot contine +, -, %, (,), & s.a.m.d.

  • Variabilele incep cu o litara sau un underscore ($exemplu sau $_exemplu)
Sunt un tanar programator din Bucuresti ce lucreaza in PHP/Mysql (MySqli/PDO), Laravel, CodeIgniter, MySQL, PostgreSQL, Wordpress, HTML5/CSS3, Sass, Photoshop si multe altele.
Google+ Community Facebook Group
Acest articol a fost mutat de pe vechea platforma.
Pentru orice eroare aparuta la mutare va rog sa ma contactati!