cameron-diazShrek Forever After has held onto the No 1 spot at the US box office, while Sex And The City 2 and Prince Of Persia: The Sands Of Time were in a photo finish for second place.

With 55.7 million dollars over the long Memorial Day holiday, Shrek Forever After – which features the voices of Cameron Diaz, Mike Myers and Antonio Banderas – was No 1 for a second straight weekend.

The movie raised its 10-day American total to 145.5 million dollars.

Many in Hollywood thought Sex And The City 2 would debut at No 1. But the Warner Bros release may have to settle for third place.

Based on studio estimates on Monday for the four-day weekend, Disney’s Prince Of Persia debuted at No 2 with 37.8 million dollars, slightly ahead of the 37.1 million for Sex And The City 2.

The two movies were close enough that second and third place rankings could change once final numbers are released on Tuesday.

SATC 2 would have put up bigger weekend numbers, but Warner Bros decided to give the movie a head-start by opening it on Thursday, a day ahead of most new releases. The movie took in 14.2 million on Thursday, leaving it with 51.4 million after its first five days.

“We obviously siphoned off some of our weekend by going a day early,” said Dan Fellman, head of distribution at Warner Bros.

Estimated ticket sales for Friday to Monday at US and Canadian theatres are according to Final figures will be released on Tuesday.