|
Posted by Jochem Maas on 05/04/05 21:14
Greg Donald wrote:
> On 5/3/05, GamblerZG <gambler@highstream.net> 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 ) )
> {
>
> }
>
>
[Back to original message]
|