<?php
$deneme = "bu bir denemedir";
$bosluk=array(" "," "," "," "," ");
$deger = str_replace($bosluk,"-",$deneme);
echo $deger;
?>
<?php
$deneme = "bu bir denemedir çok boşluk var burada ";
$deger = str_replace(" ","-",$deneme);
echo $deger;
?>
array yapmaya gerek yok bence

Bu da aynı işlevi görür.
($deneme değişkeninde kelimeler arasında birden fazla boşluk koydum ama forum temizliyor boşlukları

)