Personnellement, ce n'est pas comme ca que je ferais, tu n'as pas besoin de modifier le tableau.
De plus, bien que dans ce cas ce soit un petit tableau, il fera deux fois le foreach : une fois pour le modifier et une fois dans le implode.
Dans la solution que je t'ai proposé (j'espère que tu as compris sinon je peux revenir dessus), ton implode est fait par le foreach.
J'ai un peu relu ton message et j'ai vu que tu n'avais pas bien compris, alors ce que je te propose en faite c'est de recréer une fonction implode qui saura gérer ton tableau :)
Dans un cas plus poussé, tu pourrais même faire une fonction implode du type :
function implode($glue, $array, $func)
Ou func est le callback qui permet de gérer chaque index de ton array, mais je pense pas que tu doives aller jusque là dans ton exemple
Et tu pourrais l'utiliser ainsi
implode(' AND ', $cond, function($k, $v){ return $k . "='" . $v . "'"});
J'espère que tu vois où je veux en venir :)