ふと、基本に戻って確認した
if (isset($data['a']) && $data['a']) {
//
}
って最初しか評価されないよな、と
var_dump(true && true);
// true
var_dump(false && true);
// false
var_dump(true && false);
// false
var_dump(isset($data['a']) && $data['a']);
// false
$data['a']
// NOTICEエラー
phpのif文は、最初の方から評価して、用が住めば後ろは評価しません
だから、動作を早くするには、早く解決する順でif文を組むといいですね