Voici une courte RFC autour de la construction empty() :

Cette RFC partait de l’idée qu’il est commun de vouloir utiliser empty() sur plusieurs variables, en vue de déterminer si l’une d’entre elles est vide ou si aucune ne l’est ; ce qui passe actuellement par une portion de code de ce type :

    if (empty($a) || empty($b) || empty($c)) {
        // Une des variable est vide
    }
    
    if (!empty($a) && !empty($b) && !empty($c)) {
        // Aucune variable vide
    }

Pour simplifier l’écriture de ce type de test, cette RFC proposait de rendre empty() variadique (comme l’est déjà isset()), ce qui permettrait d’utiliser l’écriture suivante :

    if (empty($a, $b, $c)) {
        // Une des variable est vide
    }
    
    if (!empty($a, $b, $c)) {
        // Aucune variable vide
    }

Passer plusieurs expressions à empty() reviendrait à effectuer un OR entre empty() de chaque expression.

Les votes ont été ouverts le 7 mars 2015 pour être clôturés le 21 mars. Considérant que cette proposition apporterait un fort risque de confusion (est-ce qu’on vérifie qu’au moins une donnée est vide ? Ou est-ce qu’on vérifie que toutes les données sont vides ?), nous avons exprimé un avis négatif sur internals@.

Une majorité des 2/3 était requise pour l’adoption de cette RFC et elle a été rejetée, avec 26 votes « pour » et 26 votes « contre ».