Greg Donald wrote:
On 5/3/05, GamblerZG <gambler@xxxxxxxxxxxxxx> wrote:
I would like to know, whether using @ is a good practice.
I try not to use it much, but when I do I back it up with checking to
see if an error really occured. I use it for file handles, database
handles, stuff that I really expect to break sometimes. I don't ever
use it to assist with sloppy coding style, not defining variables and
such. In fact I always code with error_reporting( E_ALL ) until I
take the code into production.
Greg makes some good points. in short don't use @ lightly,
in theory you are never required to use it at all.
in some situations you may have an intensive/heavy function or
loop which access array items (inside the loop) which may or
may not be set... in such cases you may find you want/need to
try and optimize....
foreach($arr1 as $a) {
// if (isset($arr2[ $a ])) {
if (@$arr2[ $a ]) {
// ...
}
// ...
}
this example assumes that $arr2 is an array and that every
item you are checking will cast to boolean true (e.g. the
value 0 will cast to false) -- so on a few occasions you
can 'cheat' with the @ and grab a cycle or 2, but be
very careful what you are doing.
have fun :-)
For example, I
have an array of unknown length $array.
Is it all right write something like this:
@list($first, $second) = $array;
I go with $array[0], $array[1] and such. Or maybe
while( list( $k, $v ) = each( $array ) )
{
}
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php