Originariamente inviato da pierotto
Perchè la variabile dichiarata nella funzione è visibile solo all'interno della funzione e non esiste fuori da quel contesto. Quindi le due $var hanno vita autonoma pur avendo lo stesso nome.

Se vuoi poter modificare la variabile "esterna" all'interno della funzione la devi passare per "riferimento":

function prova(&$var){

Altri modi sono: dichiarare globale la $var, oppure passaggio per valore. Ma quest'ultimo non modificherà la variabile esterna.
Un'occhiata al manuale.

http://www.php.net/manual/it/functions.php
http://www.php.net/manual/it/language.references.php

Ma nel caso di hph non si tratta di una funzione ma di un include. Come dice ZackS la variabile dovrebbe essere modificata.... e di fatti viene modificata. Quindi il problema è altrove.