Operatori
Operatori Gli operatori sono un altro degli elementi di base di un linguaggio di programmazione e ci permettono di manipolare il contenuto delle variabili. In PHP esistono i seguenti tipi di operatori: • aritmetici • di incremento e decremento • di confronto • logici • di concatenazione
Operatori aritmetici Questo tipo di operatori ci consentono di effettuare le tradizionali operazioni aritmetiche e si suddividono in: • operatori di assegnazione (“=”); • operatori di addizione (“+”); • operatori di sottrazione (“-”); • operatori di moltiplicazione (“*”); • operatori di divisione (“/”); • operatori di modulo (“%”) o “resto della divisione”. Di seguito viene mostrato il loro semplice utilizzo attraverso degli esempi.
Assegnazione: L’operatore di assegnazione assegna appunto un valore ad una variabile, come si può vedere negli esempi che seguono: $user = “mrossi”; $int = 98; $a = $c;
Addizione: L’operatore di addizione calcola la somma tra due o piÚ valori, come si può vedere negli esempi che seguono: $valore = 34 + 9; $valore = $a + 11; $valore = $a + 9 + 11; $valore = $valore + $a + 9 + 11;
Sottrazione: L’operatore di sottrazione calcola la differenza tra due o piÚ valori, come si può vedere negli esempi che seguono: $valore = 34 - 9; $valore = $a - 11; $valore = $a - 9 - 11; $valore = $valore - $a - 9 - 11;
Moltiplicazione: L’operatore di moltiplicazione effettua la moltiplicazione tra due o piÚ valori, come si può vedere negli esempi che seguono: $valore = 34 * 9; $valore = $a * 11; $valore = $a * 9 * 11; $valore = ($valore * $a) * (9 * 11);
Divisione: L’operatore di divisione effettua una divisione tra due valori, come si può vedere negli esempi che seguono: $valore = 34 / 9; $valore = $a / 11;
Modulo: L’operatore di modulo calcola il resto della divisione tra due valori, come si può vedere negli esempi che seguono: $valore = 34 % 9; $valore = $a % 11;
Operatori di incremento e decremento Questi tipo di operatori vengono utilizzati per effettuare in modo veloce operazioni di somma (incremento) o di sottrazione (decremento) di una unità sulla stessa variabile. Vengono identificati rispettivamente con i simboli ++ e -- oppure con += e –= Di seguito un esempio del loro semplice utilizzo: $valore++;
//Che equivale a scrivere: $valore = Svalore+1;
++$valore;
//Che equivale a scrivere: $valore = Svalore+1;
$valore += 1;
//Che equivale a scrivere: $valore = Svalore+1;
$valore--;
//Che equivale a scrivere: $valore = Svalore-1;
--$valore;
//Che equivale a scrivere: $valore = Svalore-1;
$valore -= 1;
//Che equivale a scrivere: $valore = Svalore-1;
Operatori di confronto Gli operatori di confronto effettuano dei confronti fra valori. Il risultato di tale operazione sarà, ogni volta, vero (true) o falso (false). L’utilità di tali operatori sta nel fatto che essi vengono utilizzati e sono a volte indispensabili per verificare delle condizioni, facendo sì che il nostro script esegua determinate istruzioni invece di altre; vengono quindi utilizzati nelle strutture di controllo (ad esempio l’if), che verranno trattate nelle lezioni successive.
Gli operatori di confronto sono: Operatore = != === > >= < <=
Significato del confronto Uguale Diverso Identico (uguale e dello stesso tipo: Es. per due variabili di tipo intero) Maggiore Maggiore uguale Minore Minore uguale
Di seguito alcuni esempi di utilizzo.
Risultato del confronto TRUE o FALSE TRUE o FALSE TRUE o FALSE TRUE o FALSE TRUE o FALSE TRUE o FALSE TRUE o FALSE
Esempi degli operatori di confronto sui numeri: $a = 12; $b = 12.0; $c = 6;
//Assegnamo dei valori numerici a tre
$a == $b;
variabili //vero
$a == $c;
//falso
$a === $b;
//falso, perchÊ $a è intero mentre $b è
$a > $c;
float //vero
$c >= $a;
//falso, $c è minore di $a
$a < $b;
//falso, hanno lo stesso valore
$c <= $b;
//vero
Esempi degli operatori di confronto sulle stringhe: //Assegnamo dei valori a cinque variabili di tipo stringa: $a = 'Matteo'; $b = 'Giorgia'; $c = 'Giovanni'; $d = 'antonella'; $e = '4 persone'; $a < $b;
//falso, la 'G' precede la 'Mâ&#x20AC;&#x2DC;
$b < $c;
//vero, la 'r' ('Gior') precede la 'v' ('Giov')
$d > $a
//vero, la 'a' minuscola è 'maggiore' delle maiuscole
$c > $e;
//vero, ogni lettera è 'maggiore' di qualsiasi cifra
Operatori logici Gli operatori logici vengono utilizzati per combinare più valori booleani, oppure per negarne uno (cambiarne lo stato da true a false o viceversa). Gli operatori logici restituiscono sempre un valore booleano (true o false) e la loro utilità risiede nel fatto che vengono utilizzati e sono a volte indispensabili per verificare una o più condizioni, facendo sì che il nostro script esegua determinate operazioni invece di altre; vengono quindi utilizzati nelle strutture di controllo (ad esempio l’if), che verranno trattate nelle lezioni successive. Di seguito una tabella ne elenca i tipi e le caratteristiche.
Nome operatore OR AND XOR
NOT
Operatore
Come si comporta l’operatore
|| oppure Or valuta se almeno uno dei due operatori è vero e restituisce true se almeno una delle condizioni è vera, false altrimenti && oppure valuta se entrambi gli operatori sono veri e restituisce And quindi FALSE se e solo se entrambi gli operatori sono false Xor o OR esclusivosi comporta come l’or con la sola differenza che perché restituisca true, uno e solo uno dei Xor due operatori deve essere vero e l’altro falso, altrimenti restituisce false ! Vale come una negazione e deve essere usato per negare un operatore logico o un’espressione e non quindi da solo. Il suo effetto è quello di ribaltare il risultato logico di un’espressione o di un operatore logico
Cosa restituisce TRUE o FALSE TRUE o FALSE TRUE o FALSE
TRUE o FALSE
Esempi: And : restituisce true se e solo se entrambe le condizioni sono verificate. In caso contrario, restituisce false (12 > 8) & (66 == 66)
//vero: entrambe le condizioni sono vere
(21 == 21) & (14 > 4)
//falso: solo la prima condizione è vera
(45 > 23) & ( 61 < 15)
//falso: la prima è vera - la seconda è falsa
Or: valuta se almeno uno dei due operatori è vero e restituisce true se almeno una delle condizioni è vera. In caso contrario, restituisce false (10 > 8) || (7 < 6)
//vero: la prima è vera, la seconda è false
(7 < 6) || (10 > 8)
//vero: la prima è falsa, la seconda è vera
(10 > 8) || (7 > 6)
//vero: entrambe le condizioni sono vere
(10 < 8) || (7 < 6)
//false: entrambe le condizioni sono false
Xor: si comporta come l’or con la sola differenza che perché restituisca true, uno e solo uno dei due operatori deve essere vero e l’altro falso, altrimenti restituisce false (10 > 8) Xor (7 < 6)
//vero: la prima è vera, la seconda è false
(7 < 6) Xor (10 > 8)
//vero: la prima è falsa, la seconda è vera
(10 > 8) Xor (7 > 6)
//false: entrambe le condizioni sono vere
(10 < 8) Xor (7 < 6)
//false: entrambe le condizioni sono false
Not: ribalta il risultato logico di un’espressione o di un operatore logico !(14 > 4)
//false: la condizione sarebbe vera, ma il not ne ribalta il risultato
(!(21 != 21)
//vero: la condizione sarebbe false, ma il not ne ribalta il risultato
(45 > 23) & ( 61 < 15)
//vero: la prima sarebbe vera - la seconda sarebbe falsa, ma il not inverte
(10 > 8) || (7 < 6)
//falso: la prima è vera, la seconda è false, ma il not ne ribalta il risultato
(7 < 6) || (10 > 8)
//vero: la prima è falsa, la seconda è vera, ma il not ne ribalta il risultato
Operatore di concatenazione L’operatore di concatenazione viene utilizzato per concatenare due o più stringhe e/o variabili. La concatenazione in PHP si ottiene con il punto: “.” Vediamo qualche esempio: //Definiamo delle variabili e vediamo come concatenarle e le stringhe che si ottengono dall’operazione $nome = “Mario”; $cognome = “Rossi”; $user = “mrossi”; $pwd = “1234”;
$frase = “ciao ”.$nome;
//Concateniamo una stringa e una variabile ottenendo: ciao Mario
$saluti = “Saluti, ”. “CPU Academy”;
//Concateniamo due stringhe ottenendo: Saluti, CPU Academy
//Concateniamo ora più stringhe e più variabili tra loro: $frase = “Benvenuto ” . $nome . “ ” . $cognome . “, la sua user è:\”” . $user . “\” e la sua password è: \”” . $pwd . “. ” . $saluti //Ottenendo la seguente stringa finale: Benvenuto Mario Rossi, la sua user è: “mrossi” e la sua password è “1234”. Saluti, CPU Academy
FINE LEZIONE