"I believe that it's been the best possible decision for me - to return to my native town, to help my native club and myself," the Russian captain said.
"Zenit made me the right offer at the right time as I was having certain problems at Arsenal with too little match practice."
The 30-year-also dismissed rumours that he could join another Russian Premier League side, the big-spending Anzhi Makhachkala, saying Zenit's proposal was the only serious one he had received.
"It was unlikely for me to join any other club as Zenit were the only side who made Arsenal and me a serious proposal," he said. "I hope here in Zenit I will receive everything I need to prepare for the 2012 European championships in the best possible way."
Zenit last week took Arshavin, who cost the Gunners £15million when he arrived in London three years ago, on loan until the end of the season.
Arshavin has scored 30 times in 133 appearances for Arsenal since joining in February 2009, including four goals in a 4-4 draw with Liverpool at Anfield in his debut season.
He also scored the winning goal against Barcelona in last year's 2-1 UEFA Champions League victory at the Emirates Stadium.