>Doesn't @ surpress output (in general)?
>Variables don't usually produce an output so putting @ before it shouldn't
>make any difference.
@ suppresses *ERROR* output, not just any old output.
@ echo "foo";
will echo foo out.
@ echo $foo;
will echo out anything in $foo, but if you haven't *PUT* anything in $foo
yet, and if you have E_ALL turned on like you should, then the @ will
suppress the "Warning:" message.
@ can generally appear just about anywhere, and not necessarily just in
front of functions (unless this changed on purpose in 4.2 for some reason
beyond my ken) I don't use @ a whole lot, except for pg_fetch_row() where
you pretty much have to (ugh!)
Anyway, this is legal (or was before 4.2), if silly:
if (@$foo){
}
Here, the test for $foo, which might not be set, will suppress the
"Warning:" about $foo not being set, because there is an @ in front of it.
Of course, you *OUGHT* to be using:
if (isset($foo)){
}
in the first place!
I dunno why the @ behaviour changed in the original post's case.
Might even be an actual bug...
--
Like Music? http://l-i-e.com/artists.htm
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php