Bah c'est simple, à chaque tour de boucle tu réassignes la valeur de ta variable result pour lui donner comme valeur "x = y". Donc forcément, à la fin, elle ne contient que les informations de la dernière itération de ta boucle puisqu'à chaque fois tu écrases l'ancien contenu. Je ne sais pas quel résultat tu veux obtenir, mais tu dois dans tous les cas te servir de la valeur précédente de ta variable résulte, afin de ne pas simplement remplacer son contenu.
$result = $result.'; '.$k.' ="'.$v.'" ';
ou
$result .= '; '.$k.' ="'.$v.'" ';