連投ですみません。
色々調べたら入力値チェックで期待しない値は異常なエラーとして例外処理してもよい、
みたいに書いてあったので例外処理することにしました。

function throw_except($msg){
 throw new Exception($msg);
}

try {
 if( isError1() ) throw_except('エラー1');
 if( isError2() ) throw_except('エラー2');
 return_json( $xxx );
} catch ( Exception $e ) {
 return_err_json( $e->getMessage() );
}

例外処理になったからreturn_xxx関数内でprintさせてます(exitは削除)
print文を関数外に出した方がいいのかもしれませんが