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 :

choisir entre unset et =""


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Points : 109
    Points
    109
    Par défaut choisir entre unset et =""
    Bonjour à tous
    dans une boucle je souhaite remettre toute mes variable afin d'eviter, qu'elle puisse être utiliser à la prochaine incrémentation.

    Pour l'instant je mettait en début de boucle
    Mais je me demande si je ne devrais pas utiliser unset();

    J'ai regardé la doc, mais je n'ai pas trouver d'info.


    Merci d'avance

  2. #2
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    après unset($a);
    la variable $a n'existe plus

    après $a="";
    la variable $a contient une chaîne de caractères vide
    ce message vous a aidé ! Un petit click sur fait toujours plaisir

    "Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent." Bev Littlewood & Lorenzo Strigini

    "Le logiciel, c’est comme le sexe, c’est meilleur quand c’est libre/gratuit." Linus Torvalds

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Points : 109
    Points
    109
    Par défaut Merci
    Effectivement mais du coup
    entre supprimer les variable puis les recréer ou les vides?

    entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    foreach ($arr as &$value) {
        $a = $b =$c = $d = "";
        $a = $value[a];
        $b = $value[b];
        $c = $value[c];
        $d = $value[d];
    [...]
    }
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    foreach ($arr as &$value) {
        unset($a);
        unset($b);
        unset($c);
        unset($d);
        $a = $value[a];
        $b = $value[b];
        $c = $value[c];
        $d = $value[d];
    [...]
    }
    Il y a pas un grand différence?
    J'aurais tendance à préférer la première.

    Ai je raison?

  4. #4
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    tu n'a même pas besoin de unset ou de $a=""
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach ($arr as &$value) {
        $a = $value[a];
        $b = $value[b];
        $c = $value[c];
        $d = $value[d];
    [...]
    }
    ce message vous a aidé ! Un petit click sur fait toujours plaisir

    "Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent." Bev Littlewood & Lorenzo Strigini

    "Le logiciel, c’est comme le sexe, c’est meilleur quand c’est libre/gratuit." Linus Torvalds

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Points : 109
    Points
    109
    Par défaut
    Effecitvement je pense que mon exemple n'est pas correct.

    Puisque $value[x]; sera toujours redefinit.

    Mais dans un cas différent il y a un risque qu'à qu'a la nouvelle boucle la variable garde l'ancienne valeur.
    (C'est dans un cas d'envoie de mail de relance avec bon de réduction, donc je ne souhaite pas que le client b puisse recevoir le mail du client a)

    Prenons l'exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach ($arr as &$value) {
        if ($value[e] <12) $value[a];
       if ($value[f] <21) $b = $value[b];
    [...]
    }

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pose toi la question différemment : dans ton exemple, que vaut $b quand $value['f'] >= 21 ?

    Donc soit tu initialises $b au début de ta boucle avec la valeur par défaut, soit tu lui donnes une valeur avec un else dans ton test.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Choisir entre email et ftp
    Par cjacquel dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 15/06/2006, 16h48
  2. [UML][Debutant]Choisir entre une classe et une interface ?
    Par Laurent Dardenne dans le forum Diagrammes de Classes
    Réponses: 11
    Dernier message: 24/04/2006, 20h45
  3. Choisir entre php et XSL
    Par vg33 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 15/04/2006, 02h40
  4. [FEDORA] Lequel choisir entre Fedora i386 et x86 pour un xeon?
    Par Oberon dans le forum RedHat / CentOS / Fedora
    Réponses: 7
    Dernier message: 13/07/2004, 14h52

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