IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

quel est l'équilavalent de COALESCE en php7 ?


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 477
    Par défaut quel est l'équilavalent de COALESCE en php7 ?
    bonjour,

    en mysql ya une fonction bien pratique pour retourner la 1ere valeur non-nulle d'une liste : COALESCE

    y-a-t-il de même en PHP afin d'éviter un if non null then else...

    Merci de votre astuce!

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 370
    Par défaut
    Bonjour,

    Tu as dis pas de if, donc j'ai fais sans "if" lol

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $test = [null, 2, null, 1, null, 2];
     
    $filtered = array_values(array_filter($test, fn($v) => $v !== null))[0] ?? null;
     
    echo $filtered;
    array_filter pour filtrer toutes les valeurs null

    array_value pour réindexer le tableau

    J'ai pas trouvé de truc pré-fais propre à php ...
    Cdt
    Un problème sans solution est un problème mal posé. (Albert Einstein)

  3. #3
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 477
    Par défaut
    dans ton exemple gabi, il faut poper, ça fait une instruction en plus (poper= sortir le 1er du tableau)

    en cherchant, je suis tombé sur cette écriture étrange issu ju JS que je vais tester de suite :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $a=null;
    $b=$a;
    $c=null;
     
    $premiere_non_nulle=($a ?? $b ?? $c ?? "valeur par defaut");

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 370
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $premiere_non_nulle=($a ?? $b ?? $c ?? "valeur par defaut");
    Mais tu demandais pas de le faire sur une liste de base ?
    Un problème sans solution est un problème mal posé. (Albert Einstein)

  5. #5
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 477
    Par défaut
    Citation Envoyé par gabi7756 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $premiere_non_nulle=($a ?? $b ?? $c ?? "valeur par defaut");
    Mais tu demandais pas de le faire sur une liste de base ?
    bonjour,
    non j'avais besoin sur une liste de variables (comme COALESCE ) et non pas sur une variable de type list ou tableau

    C'est juste pour simplifier l'écriture du code et éviter une cascade de IF à la pelle pour obtenir la 1ere valeur non nul parmi une liste de variables qui ne sont pas rassemblées dans un tableau.

Discussions similaires

  1. [EDI] Quel est l'éditeur que vous recommandez pour PHP ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 400
    Dernier message: 10/04/2018, 20h08
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. Réponses: 87
    Dernier message: 06/07/2011, 15h33
  4. Quel est l'intérêt des Services Web ??
    Par silvermoon dans le forum Débats sur le développement - Le Best Of
    Réponses: 19
    Dernier message: 12/02/2003, 22h28
  5. Quel est le meilleur Routeur-adsl ???
    Par loki dans le forum Développement
    Réponses: 4
    Dernier message: 12/11/2002, 18h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo