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 :

Signification d'une ligne


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Apprenti en développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Apprenti en développement logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 67
    Points : 97
    Points
    97
    Par défaut Signification d'une ligne
    Bonjour,

    Je reprend un codage et je n'arrive pas à comprendre cette ligne.
    C'est la toute première de la page et il y en a 15 comme celle ci (mais avec des variables différentes) qui la suive.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $test = (isset($_POST["test"])) ? rec($_POST["test"]) : '';

    Je ne suis pas bien doué en php mais malgré toutes mes recherches, je ne comprend à quoi ca sert de faire cela.


    J'espère que vous pourrez m'éclairer !

    Merci.

    M4itreG.

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Points : 507
    Points
    507
    Par défaut
    C'est une affectation via une ternaire.

    Ca reviens a faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (isset($_POST["test"])){
        $test = rec($_POST["test"]);
    } else {
        $test = '';
    }
    Marcuscircus : La seule différence entre un rêve et sa réalisation, c'est l'envie

  3. #3
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 090
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 090
    Points : 8 188
    Points
    8 188
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par M4itreG Voir le message
    malgré toutes mes recherches
    Doc : http://www.php.net/manual/en/languag...arison.ternary
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  4. #4
    Membre régulier
    Homme Profil pro
    Apprenti en développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Apprenti en développement logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 67
    Points : 97
    Points
    97
    Par défaut
    Ben oui malgré toutes mes recherches ! ce mot te gêne ?

    J'avais peut etre simplement besoin d'une explication, ça ne veux pas dire que je n'avais rien trouvé. C'est avec des commentaires comme ça, qu'on avance ...

    En tout cas je clos le sujet.

    Merci beaucoup de ton aide marcuscircus, j'ai compris.

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 090
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 090
    Points : 8 188
    Points
    8 188
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par M4itreG Voir le message
    Ben oui malgré toutes mes recherches ! ce mot te gêne ?
    Non, je réponds à un point précis.

    J'avais peut etre simplement besoin d'une explication, ça ne veux pas dire que je n'avais rien trouvé. C'est avec des commentaires comme ça, qu'on avance ...
    Les explications on les trouve dans la doc :

    L'opérateur ternaire ¶

    Un autre opérateur conditionnel est l'opérateur ternaire ("?:").

    Exemple #3 Affectation d'une valeur par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    // Exemple d'utilisation pour l'opérateur ternaire
    $action = (empty($_POST['action'])) ? 'default' : $_POST['action'];
     
    // La ligne ci-dessus est identique à la condition suivante :
    if (empty($_POST['action'])) {
       $action = 'default';
    } else {
       $action = $_POST['action'];
    }
     
    ?>
    L'expression (expr1) ? (expr2) : (expr3) est évaluée à expr2 si expr1 est évaluée à TRUE, et expr3 si expr1 est évaluée à FALSE.
    Et en effet j'espère te faire avancer vers une plus grande autonomie, au passage tu découvriras peut-être même d'autres usages :

    Depuis PHP 5.3, il est possible d'omettre la partie centrale de l'opérateur ternaire. L'expression expr1 ?: expr3 retourne expr1 si expr1 vaut TRUE, et expr3 sinon.
    Ou d'autres opérateurs, sans oublier quelques commentaires intéressants :

    crazy888s at hotmail dot com ¶3 years ago
    I couldn't find much info on stacking the new ternary operator, so I ran some tests:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    echo 0 ?: 1 ?: 2 ?: 3; //1
    echo 1 ?: 0 ?: 3 ?: 2; //1
    echo 2 ?: 1 ?: 0 ?: 3; //2
    echo 3 ?: 2 ?: 1 ?: 0; //3
     
    echo 0 ?: 1 ?: 2 ?: 3; //1
    echo 0 ?: 0 ?: 2 ?: 3; //2
    echo 0 ?: 0 ?: 0 ?: 3; //3
    ?>
    It works just as expected, returning the first non-false value within a group of expressions.
    Bonnes fêtes,
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] signification d'une ligne dans une table
    Par chuspyto dans le forum VBA Access
    Réponses: 4
    Dernier message: 31/01/2010, 14h12
  2. signification d'une ligne
    Par grinder59 dans le forum Langage
    Réponses: 1
    Dernier message: 01/02/2008, 11h24
  3. Réponses: 9
    Dernier message: 12/08/2002, 07h38
  4. [TP]lire une ligne de l'ecran et la stocker dans une chaine
    Par Bleuarff dans le forum Turbo Pascal
    Réponses: 26
    Dernier message: 02/07/2002, 10h08
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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