Вы можете включить назначение в качестве выражения. Но в вашем случае вы должны изменить порядок теста, чтобы сначала проверить пустоту, прежде чем значение будет переназначено:
if ( !empty($phone) and !($phone = formatPhone($phone)) ) {
$e = 1;
$e_message .= '<li>The phone number is invalid, please use the format (000) 000-0000.</li>';
}
Это спасет вас от остального дерева. Но более читабельно это не так. : |