1.2.419. Empty With Expression

empty() doesn’t accept expressions until PHP 5.5. Until then, it is necessary to store the result of the expression in a variable and then, test it with empty().

<?php

// PHP 5.5+ empty() usage
if (empty(strtolower($b . $c))) {
    doSomethingWithoutA();
}

// Compatible empty() usage
$a = strtolower($b . $c);
if (empty($a)) {
    doSomethingWithoutA();
}

?>

See also empty.

1.2.419.1. Suggestions

  • Use the compatible syntax, and store the result in a local variable before testing it with empty

1.2.419.2. Specs

Short name

Structures/EmptyWithExpression

Rulesets

All, Changed Behavior, Suggestions

Exakat since

0.8.4

PHP Version

With PHP 5.5 and more recent

Severity

Major

Time To Fix

Quick (30 mins)

Changed Behavior

PHP 5.5 - More

Precision

Very high

Features

empty

Examples

HuMo-Gen

Available in

Entreprise Edition, Exakat Cloud