Corso di PHP

Concetti fondamentali sulle variabili

 

Dopo aver esaminato tutti i tipi di dato presenti in PHP, da questa lezione cominceremo un esame approfondito delle variabili e delle loro caratteristiche.

Come già sappiamo le variabili PHP cominciano tutte con il simbolo del dollaro ($) seguito dal nome della variabile. I nomi delle variabili sono case-sensitive, cioè PHP distingue tra caratteri maiuscoli e caratteri minuscoli.
Quando assegniamo un nome ad una variabile è necessario attenersi alle due seguenti regole:
Il nome di una variabile comincia con una lettera o con un carattere underscore (il trattino basso ‘_’);
I caratteri che seguono possono essere caratteri, numeri o underscore.

Per i tipi di assegnamento delle variabili  esiste un piccola differenza tra PHP3 e PHP4. Infatti mentre in PHP3 è possibile fare un assegnamento ad una variabile solo per valore, con PHP4 è stata introdotta la possibilità di effettuare un assegnamento anche per riferimento.

Quando si assegna una espressione ad una variabile per valore non si fa altro che copiare il valore dell’espressione originale nella variabile di destinazione. Successive modifiche effettuate sulla variabile non influenzeranno il valore dell’espressione originale e viceversa. Un assegnamento per valore crea, cioè, due entità del tutto separate.

Effettuare un assegnamento per riferimento significa, invece, che la nuova variabile semplicemente si riferisce (o diventa un alias, o punta) alla vecchia. Quindi ogni modifica  effettuata su una delle due avverrà anche sull’altra. Effettuare un assegnamento per riferimento non implica quindi nessuna copia di variabili.

Ciò rende questo tipo di assegnamento più performante, cioè più veloce. Questa caratteristica risulta di importanza notevole quando gli assegnamenti avvengono all’interno di un loop o quando bisogna assegnare array di grandi dimensioni; quando cioè un assegnamento per valore e quindi la creazione di una copia dell’espressone risulta essere un’operazione computazionalmente “pesante”.

Per fare un assegnamento per riferimento basta anteporre il simbolo & (‘E’ commerciale) alla variabile “sorgente”.

La figura riportata di seguito vuole essere una rappresentazione visiva dei concetti appena espressi.



Riportiamo di seguito un esempio di assegnamento per riferimento:

<?php
      $Presiente_della_Repubblica = ‘Carlo Azeglio Ciampi’;
      $Capo_dello_Stato = &$Presiente_della_Repubblica;
      echo “Il Presidente della Repubblica è $Presiente_della_Repubblica
<br>\n”;
      echo “Il Capo dello stato è $Capo_dello_Stato <br>\n”;
/*
            Le variabili $Presiente_della_Repubblica e $Capo_dello_Stato
            contengono naturalmente lo stesso valore.
            */

            /*
            Nel caso in cui venga eletto un nuovo Presidente egli diventa
            pure Capo dello Stato.
            */
      $Presiente_della_Repubblica = ‘Michele Cocuzza’;
      echo “Il Presidente della Repubblica è $Presiente_della_Repubblica
<br>\n”;
      echo “Il Capo dello stato è $Capo_dello_Stato <br>\n”;
?>

Attenzione: è importante notare, al fine di non incorrere in errori, che le sole espressioni per cui è possibile effettuare un assegnamento per riferimento, sono quelle a cui è stato dato un nome. Cioè codici del tipo

$somma =&(2+2);

oppure

fuction somma ()
{
return 4;
}
$risultato = &somma();


causeranno errori nell’esecuzione del codice.

Oltre alle variabili definite dall’utente, PHP fornisce ad ogni script in esecuzione un gran numero di variabili predefinite. Su molte di queste variabili, tuttavia, non è possibile dare alcuna informazione in quanto dipendono dal server utilizzato, dalla sua versione e da altri fattori.

Per ottenere una lista di tutte le variabili predefinite, e di molte altre informazioni utili, si può usare la funzione phpinfo(). Nel corso della prossima lezione forniremo un elenco delle variabili generate dal server Web Apache.

 

Torna all'indice Generale del corso di Corso di PHP di Software Planet