Dopo l’introduzione con le nozioni di base, eccomi a parlarvi di variabili e operatori.
Gli operatori costituiscono un elemento di base di qualsiasi linguaggio di programmazione poiché permettono di manipolare e gestire il contenuto delle nostre variabili.
Vediamo i vari tipi di operatori disponibili in php.
Operazioni Aritmetiche
Sono gli operatori utilizzati comunemente per effettuare le classiche operazioni matematiche:
<?php $a = 11; $b = 5; $somma = $a + $b; // 14 $differenza = $a - $b; // 6 $prodotto = $a * $b; // 55 $quoziente = $a / $b; // 2.2 $modulo = $a % $b; // 1 ?>
Oltre ai classici 4 operatori compare anche il modulo che restituisce il resto di una divisione.
Operatori di Assegnazione
Oltre al classico operatore di assegnazione ” = ” per impostare il valore di una variabile vediamo, nell’esempio, anche l’uso delle forme abbreviate +=, -= e .= che spesso vengono usate.
<?php $n = 3; $testo = 'Ciao'; // forma abbreviata di $n = $n + 5 $n += 5; // forma abbreviata di $n = $n - 2 $n -= 2; // forma abbreviata di $testo = $testo . ' mondo!' $testo .= ' mondo!' ?>
Operatori di Confronto
Si tratta di operatori molto importanti perché vengono usati sia nel costrutto if sia in altre strutture. Servono per confrontare due valori il cui esito sarà memorizzato in una variabile booleana: se la relazione specificata (uguale, minore, maggiore, ecc.) viene rispettata allora il risultato del confronto sarà true, in caso contrario sarà false.
Ecco un esempio :
<?php
$n = 5;
if($n < 0) {
echo ' numero negativo';
}
if($n > 0) {
echo ' numero positivo';
}
?>
Eccovi l’elenco completo degli operatori :
- uguale ==
- identico === (cioè uguale e dello stesso tipo: ad esempio per due variabili di tipo intero)
- diverso !=
- diverso <>
- minore <
- maggiore >
- minore-uguale <=
- maggiore-uguale >=
Occorre fare un esempio per meglio comprendere la differenza fra uguale ed identico. Oltre al classico confronto fra due valori numerici, lo stesso si può fare anche con altri tipi di variabili, ed in particolare con le stringhe. In tal caso il confronto si basa sull’ordine alfabetico dei caratteri: vale a dire che vengono considerati ‘minori’ i caratteri che ‘vengono prima’ nell’ordine alfabetico. In pratica, ‘a’ è minore di ‘b’, ‘b’ è minore di ‘c’ e così via. Inoltre le lettere minuscole sono ‘maggiori’ delle lettere maiuscole, e tutte insieme sono ‘maggiori’ delle cifre da 0 a 9.
Ma, consideriamo il PHP un linguaggio con una tipizzazione debole e questo consente anche il confronto tra variabili con tipi di dato differenti.
Esempio immediato : un confronto (==) tra una variabile che contiene l’intero uno (1) ed una che contiene la stringa uno ('1') darà un valore TRUE poiché il PHP trasforma entrambi i valori in numeri per renderli confrontabili. Per fare questo, il linguaggio controlla se ad inizio della stringa vi sono dei numeri: se ne trova, considererà tutti i numeri che trova inizialmente come il valore numerico di quella stringa altrimenti il valore della stringa sarà 0.
Cominciate a capire dove voglio arrivare e quindi finisco la spiegazione con un esempio che vi spiega praticamente la differenza fra == e ====
$a = 7; $b = 5; $c=’molte persone’; $d=’7 persone’; $e=’5′;
$a == $d; // vero, $d vale 7
$a === $d; // falso, valgono entrambi 7 ma $a è un intero mentre $d è una stringa
$b > $c; // vero, $b vale 5 mentre $c vale 0
$e > $c; // falso: questo è un confronto fra due stringhe, quindi valgono le regole viste prima
Operatori di incremento/decremento
Si tratta di due operatori (++ e –) che consentono di aumentare o diminuire solo di una unità il valore di una variabile numerica. In pratica, fungono da forme abbreviate di espressioni aritmetiche comuni.
<?php $n = 8; $m = 4; // forma abbreviata di $n = $n + 1 $n++; // forma abbreviata di $m = $m - 1 $m—; ?>
Operatori Logici
Eccovi elenco e significato dei 4 operatori logici utilizzati in php :
- And : Restituisce TRUE se sia $a che $b sono TRUE. Al posto di and si può anche usare &&
- Or : Restituisce TRUE se uno dei due operatori è TRUE. Al posto di or si può anche usare ||.
- Xor : Restituisce TRUE se uno dei due operatori è TRUE, ma non entrambi.
- Not : Restituisce TRUE se $a non è TRUE.
Ecco un esempio :
10 > 8 And 7 < 6; // falso, perchè la prima condizione è vera ma la seconda è falsa
10 > 8 Or 7 < 6; // vero
9 > 5 And 5 == 5; // vero, entrambe le condizioni sono vere
9 > 5 Xor 5 == 5; // falso, solo una delle due deve essere vera perché si verifichi lo ‘Xor’
4 < 3 || 7 > 9; // falso, nessuna delle due condizioni è vera
6 == 6 && 1 > 4; // falso, solo la prima condizione è vera
Operatori Bitwise
Esistono, ma con utilizzo alquanto limitato, anche gli operatori bitwise &, |, ^, ~, << e >>. Si tratta di operatori che agiscono sui singoli bit che compongono le variabili a cui sono applicati. Se volete maggiori informazioni al riguardo consultate direttamente la guida ufficiale.


