Una espressione é composta da operandi e operatori.
Gli operandi in PHP possono essere di tipo intero, reale, stringa, booleano.
I valori interi (integer) possono essere espressi anche in base 8 (facendoli precedere dallo 0) o in base 16 (facendoli precedere da 0x).
Per i numeri reali (double) si utilizza la notazione anglosasone che prevede il punto in luogo della virgola.
I valori booleani (bool) possono essere TRUE o FALSE. É importante ricordare che:
Per indicare la totale assenza di valore e tipo per una variabile si utilizza la parola chiave NULL.
Le stringhe (string) sono sequenze di caratteri qualsiasi delimitate da apici singoli o da virgolette. Vediamo con alcuni esempi quando e come scegliere se delimitare la stringa con l'apice singolo o con le virgolette:
echo('IISS "A. RIGHI"');Visualizza la frase IISS "A. RIGHI" lasciando le virgolette come parte del messaggio. Il codice
$scuola="A. RIGHI"; echo ('IISS $scuola');Produce l'output IISS $scuola inserendo il nome della variabile nel messaggio, mentre
$scuola="A. RIGHI"; echo ("IISS $scuola");
Produce l'output IISS A. RIGHI inserendo il contenuto della variabile nel messaggio. Il simbolo \ (backslash) consente di inserire i caratteri di escape all'interno di una stringa. Apici('), virgolette("), riorno a capo, tabulazione, dollaro ($) e altri caratteri sono utilizzati dal PHP per scopi particolari e ad essi è associato un significato specifico. Per evitare che vengano interpretati è necessario, all'interno di una stringa, farli precedere dal caratte di escape \. Quindi " diventa \", $ diventa \$, \ diventa \\ ecc... Per caratteri non visualiizabili si può ricorrere alla seguente tabella:
Caratteri di escape | Significato |
\n | Ritorno a capo e nuova riga. |
\r | A capo |
\t | Tabulazione (TAB) |
da \xOO a \xFF | Caratteri esadecimali |
Sulle stringhe sono definite diverse funzioni. Tra queste le più importanti sono:
Funzione | Descrizione |
strlen(<Stringa>) | Restituisce un numero intero corrispondente alla lunghzza della stringa. |
trim(<Stringa>) | Restituisce la stessa stringa senza gli eventuali spazi all'inizio e alla fine. |
ltrim(<Stringa>) | Come la funzione precedente ma elimina solo gli eventuali spazi a sinistra |
rtrim(<Stringa>) | Come le funzioni precedenti ma elimina solo gli eventuali spazi a destra |
substr(<Stringa>,<Intero>[,<Intero>]) | Restituisce una sottostringa di quella passato come parametro, a partire dalla posizione indicata dal primo parametro intero sino alla fine della stringa o per un numero di caratteri pari al valore eventualmente specificato come secondo parametro intero |
str_replace(<Stringa>,<Stringa>[,<Stringa>]) str_ireplace(<Stringa>,<Stringa>[,<Stringa>]) |
Cerca la stringa passata come primo parametro all'interno della stringa passata come terzo parametro e la sostituisce con la stringa passata come secondo parametro. Il terzo parametro risulterà modificato. str_ireplace() non tiene conto della distinzione tra maiuscole e minuscole |
strtolower(<Stringa>) | Restituisce il parametro modificato con tutte le lettere convertite in minuscolo |
strtoupper(<Stringa>) | Restituisce il parametro modificato con tutte le lettere convertite in maiuscolo |
ucfirst(<Stringa>) | Restituisce il parametro modificato con l'iniziale della prima parola convertita in maiuscolo |
ucwords(<Stringa>) | Restituisce il parametro modificato con le lettere iniziali di tutte le parole convertite in maiuscolo |
Per poter manipolare le variabili facciamo uso di operatori che possiamo dividere in:
Operatore di assegnamento. É il simbolo = che si usa semplicemente cosí:$x = "Ciao a tutti" $y = 123 $z = 12.34Operatori aritmetici.
$x = 12 + 5; $y = 123.45-12-1; $p = $x * $y; $q = $y / 4; $r = $x % 5;E' opportuno ricordare che il decremento e il decremento di una unitá possono essere realizzati con gli operatori:
$i++;Incrementa di 1 la variabile $i e, similmente,
$i--;decrementa di 1 la variabile $i;
Tutti gli operatori aritmetici utilizzati per modificare il valore di una variabile partendo dal valore corrente possono essere compattati con l'operatore di assegnamento come nei seguenti esempi:
$X = $X + $Z; può essere scritto come $X += $Z;
$X = $X - $Z; può essere scritto come $X -= $Z;
$X = $X * 4; può essere scritto come $X *= 4;
$X = $X / ($Z+2); può essere scritto come $X /= $Z+2;
$P = $P % 2; può essere scritto come $X %= $Z+2;
$S = $S . "Ok" può essere scritto come $S .= "Ok"
L'ultimo esempio é mostra l'uso del punto (.) che é l'operatore di concatenamento tra stringhe.
Per effettuare confronti tra i valori delle variabili o di espressioni si usano i seguenti operatori relazionali:
$a = 3; $b = 3.0; $c = 8; $a == $b; // restituisce TRUE perché i valori sono uguali $a === $b; // restituisce FALSE perché il tipo é diverso $a >= $c; // restituisce FALSE perché $a é minore di $cIn PHP è anche possibile fare il confronto tra valori numerici e stringhe. In questo caso viene assegnato un equivalente numerico alla stringa secondo i seguenti criteri:
$X = "3 erre"; $Y = 2; $B = ($X == $Y)assegna a $B il valore TRUE.
Nella costruzione delle espresioni booleane, oltre agli operatori relazionali, concorrono i seguenti operatori logici:
Operatore | Simbolo | Significato |
or | OR oppure || | Restituisce TRUE se almeno uno dei due operandi è TRUE. Restituisce FALSE se sono entrambe FALSE. |
and | AND oppure && | Retstituisce TRUE se entrambe gli operandi sono TRUE, altrimenti retituisce FALSE. |
xor | XOR | Restituisce TRUE se gli operandi sono uno FALSE e l'altro TRUE, altrimenti restituisce FALSE. |
not | ! | Un solo operatore. Restituisce FALSE se l'operatore é TRUE e viceversa. |