Devi creare il ciclo per le parole, non per il dizionario.
E poi ti consiglio di usare un foreach.
Codice PHP:
<?php
$dizio = array ('albero' => 'tree',
'barca' => 'boat',
'casa' => 'home',
'dare' => 'give',
'essere' => 'be',
'fare' => 'do',
'giocare' => 'play',
'io' => 'I',
'avere' => 'have',
'domani' => 'tomorrow');
$input = 'io giocare casa domani';
$testo = explode(' ',$input);
$output = '';
foreach($testo as $parola){
$output .= ($k=array_search($parola, $dizio))!==false?$dizio[$k]:$parola;
}
?>
Ora dovrebbe andare.