Ah right, empty() is only going to work on variables prior to PHP 5.5.  Oh well.  This is probably fine for now then, there's enough of it throughout core for it not to rock any standards boat.

However, when using variables, definitely use empty().  (Like with purchase_logs_checkout_fields(), $the_value)