The array would become rather large, and what if you had like 800 members on with a total of 5000 posts each? That's a whole lot of memory that's being eaten....
The way most forums do it (as I understand) is just a simple check:
-- You login in
----> In the database, a field ("LastLogin") is updated with current timestamp
-- You post, reply, edit, or click links on the forum
----> In the database, the field is updated with current timestamp
-- You log out
----> In the database, the field is updated with the current timestamp
Now, to get whether the post(s) is (are) newer, you just take the timestamp (which can be stored in their Session so you don't have to do a select query every time) of their last action, and compare it to the timestamp of the post. If the post timestamp is less, it's not new. If it's more, it's newer.
Understand?
Now, you can split this up, and have "LastLogin" and "LastAction", and only modify the LastLogin field when they login/logout, and update the LastAction field when they do anything else. That's an alternative, and gives you slightly more freedom to say "Welcome, your last login was XXX date at YYY time, you last did something here on UUU date at ZZZ time".