Precedenza degli operatori
Fa parte della sezione Fondamenti del percorso PHP di Coddy. Lezione 20 di 71.
Quando un'espressione contiene più operatori, PHP segue un ordine specifico chiamato precedenza degli operatori. Proprio come in matematica, la moltiplicazione e la divisione vengono eseguite prima dell'addizione e della sottrazione.
<?php
echo 5 + 3 * 2; // Restituisce: 11, non 16
?>PHP moltiplica prima 3 × 2 (ottenendo 6), poi aggiunge 5. Se gli operatori avessero la stessa priorità, calcolerebbe da sinistra a destra: 5 + 3 = 8, poi 8 × 2 = 16. Ma non funziona così.
Ecco la precedenza, dalla più alta alla più bassa, degli operatori che hai imparato:
| Priorità | Operatori |
| Più alta | ** (esponenziazione) |
| Alta | * / % |
| Bassa | + - |
Per sovrascrivere l’ordine predefinito, usa le parentesi. Le operazioni tra parentesi vengono sempre valutate per prime:
<?php
echo (5 + 3) * 2; // Mostra: 16
echo 2 ** 3 * 2; // Mostra: 16 (8 * 2)
echo 2 ** (3 * 2); // Mostra: 64 (2^6)
?>In caso di dubbio, usa le parentesi per rendere chiare le tue intenzioni. Rendono il codice più facile da leggere e prevengono risultati imprevisti.
Sfida
FacileLeggi tre numeri dall’input: a, b e c.
Calcola e stampa il risultato della seguente espressione, usando le parentesi per assicurarti che l’addizione avvenga prima della moltiplicazione:
(a + b) * c ** 2
Questo significa: prima somma a e b, poi moltiplica quella somma per c elevato alla potenza di 2.
Esempio:
Se gli input sono 2, 3 e 4, l’output dovrebbe essere 80 perché:
- Per prima cosa, somma 2 + 3 = 5
- Poi, calcola 4 ** 2 = 16
- Infine, moltiplica 5 * 16 = 80
Provalo tu
<?php
// Leggi l'input
$a = intval(fgets(STDIN));
$b = intval(fgets(STDIN));
$c = intval(fgets(STDIN));
// TODO: Scrivi il tuo codice qui sotto per calcolare (a + b) * c ** 2
// Stampa il risultato
echo $result;
?>Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confrontoUguaglianza e identitàOperatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica semplice2Variabili e tipi di dati
NumeriStringhe e virgoletteValori booleaniConvenzioni di denominazioneRiepilogo - Inizializzazione delle variabiliVariabili vuoteConcatenazione di stringheAcquisire input dall'utenteConvertire in tipi diversi5Logica condizionale
Istruzione ifIf - elseL’operatore ternarioOperatore null coalescingIstruzione switchRiepilogo - Prendere decisioni3Operatori di base
Operatori aritmeticiOperatore moduloOperatore di elevamento a potenzaAssegnazione compostaIncremento/decrementoPrecedenza degli operatoriRiepilogo - calcoli sempliciOperatori per stringheEsercitati da solo: Compilatore PHP online