初期化されてない変数に対してissetめんどくせ

 <?php

 $data = array();
 if( $data[0] ) {
    // 真なら
 }else{
    // 偽なら
 }

とか書くと、$data[0]はまだ一度も定義されてないので警告が出ます。
これを回避しようと思ったら

 <?php

 $data = array();
 if( isset($data[0]) && $data[0] ) {
 }

って感じでissetを先に噛まさないといけないわけです。

でもね、なんつーか定義されてるとか関係無しに真偽値だけチェックしたい時もあるわけで、そーゆー時ってわざわざissetするのもめんどくさいので@使っちゃダメですか?

 <?php

 $data = array();
 if( @$data[0] ) { }

これってバッドノウハウ?それとも絶対やっちゃいけないこと?

もうわかんねー。

追記

結論から言うとempty使えばまるっとOK

 <?php

 $data = array();
 if( !empty($data[0]) ) {
 }

emptyはissetと同様、警告出ないので真偽値を見たいだけのケースならかなり便利。