RFC: Loop… or

La RFC Loop… or… proposait d’ajouter un bloc, optionnel, aux structures de boucles (for, while et foreach) de PHP, exécuté dans le cas où on n’entre jamais dans la boucle — la condition n’étant pas vérifiée, dès le premier passage. Ce bloc aurait été introduit par le mot-clef or, afin d’éviter d’ajouter un nouveau mot réservé.

Il est ressorti de nos échanges que la majorité d’entre nous était plutôt pour cette fonctionnalité, même si n’étions pas à 100% de oui et que plusieurs auraient aimé pouvoir utiliser else plutôt que or, ou disposer de quelque chose de plus complet répondant à plus de cas. J’ai donc posté en ce sens sur internals@.

Arrivée au moment de la phase de votes, cette RFC a été quelque peu mise de côté et elle n’a pas été acceptée. À voir si une solution plus complète, répondant à plus de cas que le seul « on n’est jamais entré dans la boucle » reviendra sur le devant de la scène dans le futur !

3 réflexions au sujet de « RFC: Loop… or »

  1. Le problème c’est que parfois, pour faire la boucle, il faut déjà tester si c’est possible de lancer une itération (que l’array ne soit pas null) et se transforme en :


    if (!empty($array)) {
    // ma boucle
    } else {
    // si vide
    }

    Dans ce genre de cas, j’ai l’impression qu’on perd l’utilité du truc proposé.

    1. Je serais tenté de répondre que si le tableau est null, il ne s’agit pas d’un array 😉
      Un tableau vide, pour moi, ça correspond à array() — et on peut lancer la boucle (dans laquelle on n’entrera jamais).

      1. C’est vrai que regardant un peu ce que j’ai fait, ça reste assez rare. Les cas où j’ai vraiment de tests de ce genre, c’est généralement des données de retour de formulaire (ou venant de l’extérieur), car là je ne sais jamais ce que je peux recevoir.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *