The @ symbol suppresses any error message that may occur. For example, if your connection to the database failed, the @ symbol would stop PHP throwing an error and allows for your own error checking.
The !@ means not I think, so you could write
if(!@pg_connect){
echo"an error";
}else {
do database stuff
}
I hope this makes sense.
Cheers,
Jord
P.S. @ signs are not arrays in php, you assign all types of variable with $variablename.