Re: On the usage of "@" (error control operator) [message #178208 is a reply to message #178206] |
Wed, 23 May 2012 14:12 |
Shake
Messages: 40 Registered: May 2012
Karma:
|
Member |
|
|
El 23/05/2012 15:17, Leonardo Azpurua escribió:
> Hi,
>
> A few weeks ago, I wrote this sentence:
>
> @$retVal = $this->lastfetch[$ndx];
>
> Yesterday, browsing the manual, I found this paragraph:
>
> "PHP supports one error control operator: the at sign (@). _When prepended
> to an expression_ in PHP, any error messages that might be generated by that
> expression will be ignored."
>
> and, a few lines further:
>
> "A simple rule of thumb is: if you can take the value of something, you can
> prepend the @ operator to it."
>
> Since an assigment is not an expression, the required syntax should be:
>
> $retVal = @$this->lastfetch[$ndx];
>
> But both forms work.
>
>
> Is there any reason to prefer one above the other?
>
Both forms works, but not both forms are the same:
$retVal = @$this->lastfetch[$ndx];
(....errors ignored....)
@$retVal = $this->lastfetch[$ndx];
(.........Errors ignored.........)
Perhaps in some cases "$retVal" could throw a type casting error or
something of this kind.
Rgds.
|
|
|