http://alpha-thema-online.uv.ro
Fa-ti si tu propriul forum, pe www.myforum.ro!
Pagina de start a forumului http://alpha-thema-online.uv.ro Autentificare Inregistrare FAQ Membri Cautare

Pagina de start a forumului http://alpha-thema-online.uv.ro » Web development » [PHP] Operatori
Creaza un subiect nou  Raspunde la subiect Subiectul anterior :: Subiectul urmator 
[PHP] Operatori
MesajTrimis: 06/09/2007 23:06 Raspunde cu citat (quote)
Ad_Infinitum
Administrator
Administrator
Ad_Infinitum
Data inscrierii: 23/Iun/2007
Mesaje: 212




II.6 Operatori
Operatori aritmetici
Exemplu Numele operaþiei Efect
$a + $b Adunare Suma dintre $a ºi $b
$a - $b Scãdere Diferenþa dintre $a ºi $b
$a * $b Înmulþire Produsul dintre $a ºi $b
$a / $b Împãrþire Împãrþirea lui $a la $b
$a % $b Modul Restul împãrþirii lui $a la $b

Operatorul de împãrþire ('/') întoarce o valoare întreagã (rezultatul împãrþirii întregi) dacã cei doi operatori sunt întregi (sau dacã ºirurile sunt convertite la întregi). Dacã unul din operatori este numãr cu virgulã mobilã, sau rezultatul unei operaþii returneazã o valoare care nu este întreagã, va fi returnatã o valoare în virgulã mobilã.

Operatori de atribuire
Operatorul de atribuire simplã este '='. Are semnificaþia: valoarea expresiei din dreapta se atribuie variabilei din stânga (variabilã simplã sau structuratã).

Putem spune cã instrucþiunea de atribuire este formatã din trei elemente: expresia care urmeazã sã fie atribuitã, operatorul de atribuire '=' ºi variabila destinatarã.

Când este executatã instrucþiunea de atribuire, este evaluatã expresia ºi valoarea rezultatã este depusã la destinaþia specificatã.

Exemplu:

$a = ( $b = 4) + 5;
/* $a este egal cu 9 si $b cu 4 */În operaþiile aritmetice ºi pe ºiruri de caractere se pot folosi ºi operatorii compuºi, aºa cum reiese din exemplul urmãtor (exemplul 2.6.1):

$a = 3;
$a += 5;
/* Atribuie 8 variabilei $a. Corespunde instructiunii $a = $a + 5; */

$a = "Buna";
$b .= " la toata lumea!";
/* Atribuie valoarea "Buna la toata lumea!" variabilei $b
(echivalent cu $b = $b . " la toata lumea!") */De remarcat cã atribuirea se face prin copiere, adicã expresia din dreapta nu se modificã în urma atribuirii. PHP4 acceptã ºi atribuirea prin referinþã, utilizând sintaxa $var = &$othervar;, dar acest lucru nu este posibil în PHP3. Atribuirea prin referinþã înseamnã cã cele douã variabile referã aceeaºi locaþie de memorie ºi cã modificarea uneia dintre ele o afecteazã ºi pe cealaltã.

Operatori pe biþi
Operatorii pe biþi vã permit sã manipulaþi numerele întregi în reprezentare binarã.

Exemplu Numele operatorului Rezultat
$a & $b ªI (AND) Biþii poziþionaþi pe 1 în $a ªI în $b sunt poziþionaþi la 1 în rezultat
$a | $b SAU (OR) Biþii poziþionaþi pe 1 în $a SAU $b sunt poziþionaþi la 1 în rezultat
$a ^ $b XOR Biþii poziþionaþi pe 1 în $a SAU în $b sunt poziþionaþi la 1 în rezultat
~ $a NOT Biþii care sunt poziþionaþi pe 1 în $a vor fi poziþionaþi pe 0 ºi vice versa
$a << $b Deplasare la stânga Deplaseaz&atilde; bi&thorn;ii din $a cu $b pozi&thorn;ii spre stânga (fiecare pas înseamn&atilde; multiplicare cu 2)
$a >> $b Deplasare la dreapta Deplaseaz&atilde; bi&thorn;ii din $a cu $b pozi&thorn;ii spre dreapta (fiecare pas înseamn&atilde; împ&atilde;r&thorn;ire cu 2)

Operatori de compara&thorn;ie
Operatorii de compara&thorn;ie îngăduie compararea a dou&atilde; valori.

Exemplu Numele operatorului Rezultat
$a == $b Egal Adev&atilde;rat dac&atilde; $a este egal cu $b
$a === $b Identic Adev&atilde;rat dac&atilde; $a este egal cu $b &ordm;i ei sunt de acela&ordm;i tip (numai în PHP 4 )
$a != $b Diferit Adev&atilde;rat dac&atilde; $a este diferit de $b
$a < $b Mai mic decât Adev&atilde;rat dac&atilde; $a este mai mic strict decât $b.
$a > $b Mai mare decât Adev&atilde;rat dac&atilde; $a este mai mare strict decât $b
$a <= $b Mai mic sau egal Adev&atilde;rat dac&atilde; $a este mai mic sau egal ca $b
$a >= $b Mai mare sau egal Adev&atilde;rat dac&atilde; $a este mai mare sau egal ca $b

Un alt operator condi&thorn;ional este operatorul ternar ('?:'), care func&thorn;ioneaz&atilde; ca în C.

( expr1) ? ( expr2) : ( expr3);Aceast&atilde; expresie returneaz&atilde; expresia expr2 dac&atilde; expr1 este adevarat&atilde; &ordm;i expresia expr3 dac&atilde; expresia expr1 este fals&atilde;.

Operatori de control al erorilor
PHP are un operator de control al erorilor &ordm;i anume '@'. Când acest operator precede o formă în PHP, absolut orice eroare care poate fi generat&atilde; va fi ignorat&atilde;. Dac&atilde; op&thorn;iunea track_errors este activat&atilde;, mesajele de eroare generate de expresie vor fi salvate în variabila global&atilde; $php_errormsg. Aceast&atilde; variabil&atilde; va fi rescris&atilde; la fiecare eroare, deci verifica&thorn;i-o la timp dac&atilde; dori&thorn;i s&atilde; o utiliza&thorn;i.

Exemplu:

/* Eroare SQL intentionata (apostrofuri suplimentare) */
$res = mysql_query( "select name, code from 'namelist") or
die( "Query failed: error was '$php_errormsg'.");Operatori de execu&thorn;ie
PHP are un operator de execu&thorn;ie '``' (backticks). Este diferit de ghilimelele simple.

PHP va încerca s&atilde; execute con&thorn;inutul dintre aceste ghilimele oblice ca o comand&atilde; shell. Rezultatul va fi returnat (nu va fi desc&atilde;rcat pur &ordm;i simplu, ci va putea fi atribuit unei variabile).

Exemplu:

$output = `ls -al`;
echo "<pre> $output </pre>";Operatori de incrementare/decrementare
PHP dispune de operatori de incrementare/decrementare ca &ordm;i limbajul C.

Exemplu Numele operatorului Rezultat
++$a Pre-incrementare Incrementeaz&atilde; $a cu 1, apoi îl returneaz&atilde;
$a++ Post-incrementare Returneaz&atilde; $a, apoi incrementeaz&atilde; $a cu 1
--$a Pre-decrementare Decrementeaz&atilde; $a cu 1, apoi îl returneaz&atilde;
$a-- Post-decrementare Returneaz&atilde; $a, apoi decrementeaz&atilde; $a cu 1

Exemplul 2.6.2:

echo "<h3>Post-incrementare</h3>";
$a = 5;
echo "Obtin valoarea 5: " . $a++ . "<br>";
echo "Obtin valoarea 6: " . $a . "<br>";

echo "<h3>Pre-incrementare</h3>";
$a = 5;
echo "Obtin valoarea 6: " . ++$a . "<br>";
echo "Obtin valoarea 6:" . $a . "<br>";

echo "<h3>Post-decrementare</h3>";
$a = 5;
echo "Obtin valoarea 5: " . $a-- . "<br>";
echo "Obtin valoarea 4: " . $a . "<br>";

echo "<h3>Pre-decrementare</h3>";
$a = 5;
echo "Obtin valoarea 4: " . --$a . "<br>";
echo "Obtin valoarea 4: " . $a . "<br>";Operatori logici
Operatorii logici sunt:

Exemplu Numele operatorului Rezultat
$a and $b &ordf;I (AND) Adev&atilde;rat dac&atilde; $a &ordf;I $b sunt adev&atilde;rate
$a or $b SAU (OR) Adev&atilde;rat dac&atilde; $a SAU $b este adev&atilde;rat
! $a NON (NOT) Adev&atilde;rat dac&atilde; $a este fals
$a xor $b XOR (XOR) Adev&atilde;rat dac&atilde; $a SAU $b este adev&atilde;rat , dar nu amândou&atilde; în acela&ordm;i timp
$a && $b SI (AND) Adev&atilde;rat dac&atilde; $a &ordf;I $b sunt adev&atilde;rate
$a || $b SAU (OR) Adev&atilde;rat dac&atilde; $a SAU $b este adev&atilde;rat

Motivul pentru care exist&atilde; dou&atilde; tipuri de '&ordf;I' &ordm;i 'SAU' este c&atilde; ele au priorit&atilde;&thorn;i diferite.

Preceden&thorn;a operatorilor
Preceden&thorn;a operatorilor specific&atilde; ordinea în care se aplic&atilde; operatorii. De exemplu, în expresia 1 + 5 * 3 rezultatul este 16 &ordm;i nu 18, c&atilde;ci înmul&thorn;irea ('*') are prioritate superioar&atilde; în raport cu adunarea ('+').

Tabelul urm&atilde;tor con&thorn;ine operatorii disponibili în PHP în ordinea cresc&atilde;toare a priorit&atilde;&thorn;ilor.

Asociativitate Operatori
Stânga ,
Stânga or
Stânga xor
Stânga &ordf;I
Dreapta print
Stânga =, +=, -=, *=, /=, .=, %=, &=, |=, ^=, ~=, <<=, >>=
Stânga ?:
Stânga ||
Stânga &&
Stânga |
Stânga ^
Stânga &
Non-asociativ ==, !=, ===, !==
Non-asociativ <, <=, >, >=
Stânga <<, >>
Stânga +-
Stânga */, %
Stânga !, ~, ++, --, (int), (double), (string), (array), (obiect), @
Stânga [
Non-asociativ new

Operatori pentru &ordm;iruri de caractere
Exist&atilde; doi operatori pentru &ordm;iruri de caractere. Inițialul este operatorul de concatenare ('.'), care are ca rezultat concatenarea celor dou&atilde; argumente. Cel de-al doilea operator este operatorul de atribuire ('.='), care concateneaz&atilde; argumentul din bucată dreapt&atilde; la argumentul din stâng&atilde;.

$a = "Hello";
$b = $a . "World!"; // $b contine sirul Hello World!

$a = "Hello";
$a .= "World!"; // $a contine sirul Hello World!
--------------------------------------------------------------------------------
Înapoi
Expresii Cuprins Înainte
Structuri de control
Vezi profilul utilizatorului Trimite mesaj privat

[PHP] Operatori
 Pagina de start a forumului http://alpha-thema-online.uv.ro » Web development
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
Ora este GMT + 3 ore  
Pagina 1 din 1  

  
  
 Creaza un subiect nou  Raspunde la subiect  


Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
    Powered by phpBB © 2001-2004 phpBB Group. phpBB Skin by Vjacheslav Trushkin.