Richtig, Logikfehler gefunden.
Hab nicht gewusst, dass es immer gelöscht wird.
Nunja, $x = array();
legt unter dem Namen $x einen neuen leeren Speicherbereich an, der als Array genutzt werden kann. Wenn du vorher schon eine Variable mit diesem Namen hattest, geht der Inhalt dieser dadurch "verloren": Du kannst nicht mehr auf die alten Inhalte zugreifen.
Ich kenne PHP nicht gut genug, um zu sagen, ob der alte Inhalt noch irgendwo im Speicher liegen könnte. Ist aber auch nicht wichtig, da du eh nicht mehr ran kommst.
Grüße