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 :

Variable qui travaille a l'envers


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2013
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Variable qui travaille a l'envers
    Bonjour,

    J'ai le bout de code suivant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $mois	=	02;
    $day	=	31;
    $annee	=	2014;
    $dateFrom = date_create(''.$annee.'-'.$mois.'-'.$day.' 10:45:32');$dte=$dateFrom;
    date_modify($dte, '+1 day');
    echo date_format($dateFrom, 'd.m.Y');
    Je voudrait que ma variable "$dateFrom" reste a la même date et que "$dte" s'incrémente de 1 jour
    Mais ma variable "$dateFrom" s'incrémente de 1 jour, tout comme la variable "$dte".
    pourquoi?
    et comment l'éviter?

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dte = clone $dateFrom;
    les dates sont en fait des instances de classe en interne (et donc des références) d'où l'obligation de les cloner pour les dupliquer.

  3. #3
    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
    Il faut cloner l'objet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $mois	=	2;
    $day	=	31;
    $annee	=	2014;
    $dateFrom = date_create($annee.'-'.$mois.'-'.$day.' 10:45:32');
    $dte = clone $dateFrom;
    date_modify($dte, '+1 day');
    echo date_format($dateFrom, 'd.m.Y');
    Attention également 02 ce n'est pas 2.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2013
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    merci beaucoup pour votre réponse très rapide

  5. #5
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Pour l'explication, l'assignation d'un objet à une nouvelle variable ne duplique pas pour autant l'objet, l'assignation ne fait que pointer la nouvelle variable vers le même objet.

    Voici des explications un peu plus détailler sur la méthode clone.
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

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

Discussions similaires

  1. [Tableaux] Variable qui prend plusieurs valeurs
    Par gandoulfe dans le forum Langage
    Réponses: 14
    Dernier message: 26/02/2006, 19h02
  2. [Système] variable qui ne passe pas !!!
    Par azorol dans le forum Langage
    Réponses: 21
    Dernier message: 20/02/2006, 11h53
  3. [Tableaux] variable qui ne passe pas
    Par oceane751 dans le forum Langage
    Réponses: 5
    Dernier message: 31/12/2005, 03h56
  4. Variable qui évolue en fonction des choix dans formulaire
    Par stefou007 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/09/2005, 23h40
  5. Variable qui change après un DispatchMessage
    Par SekYo dans le forum Windows
    Réponses: 9
    Dernier message: 30/09/2004, 17h22

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