俺から見たら>>442が荒らしてるっぽいけど気のせいだろうか
foreach ($hoge as $val)
{
  if (!empty($val))
    $data .= $val;
}

emptyをチェックするならforeachにかけるまえに標準関数で用意されたものに通してからforeachするほうがずっとスマートだ
そもそも質問者は不正なデータというのが何なのか定義してないから>>442も間違い