Come posso fare per creare un Array con la condizione che vedete nel codice ???

codice:
function get_array_table($Database,$oConn){
	$i=0;
	$result=mysql_list_tables($Database,$oConn);
	while(list($table_name)=mysql_fetch_array($result)){
		if(substr($table_name,-2)=="A1"){
			$array_table[$i]=$table_name;
			$i++;
		}
	}
	return $array_table;
}
il problema e' che il WHILE cicla pure se la condizione e' FALSE ed e' in quel momento che perde l'Array creato fino a li, come si deve fare per non perdere l'Array quando nel bel mezzo del ciclo ci sono condizioni FALSE ???