puoi passare alla funzione un parametro come riferimento invece che come copia in modo da avere il valore all'esterno.
codice:
function canecheabbaia($nome, &$quanto){
    $quanto = 'tanto';
    echo $nome . ' abbaia ' . $quanto . '
';
}
caneabbaia('Rex', $abbaia);
echo 'Ma ' . $abbaia;
oppure usare il costrutto return in caso di un singolo valore per funzione (in linea teorica non è corretto se quel valore non rappresenta il risultato del processo della funzione).
codice:
function canecheabbaia($nome){
    $quanto = 'tanto';
    echo $nome . ' abbaia ' . $quanto . '
';
    return $quanto;
}
$abbaia = caneabbaia('Rex');
echo 'Ma ' . $abbaia;
oppure rendere la variabile all'interno globale (sempre da un punto di vista teorico non sarebbe corretto se la variabile non esistesse già all'esterno).
codice:
function canecheabbaia($nome){
    global $quanto;
    $quanto = 'tanto';
    echo $nome . ' abbaia ' . $quanto . '
';
    return $quanto;
}
caneabbaia('Rex');
echo 'Ma ' . $quanto;