Calcul php

Résolu
likopa -  
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai dans une variable php ceci :
$var = 20101201;

je n'arrive pas à ajouter 1 à ce chiffre de maniere à avoir 20101202.
Si je fais $var = $var + 1 il me sort 2010122 ...

Merci de m'aider


A voir également:

11 réponses

Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Et en faisant comme ceci :
$var += $var + 1

Le += permet d'additionner deux valeurs et de stocke le résultat dans la variable $var
0
likopa
 
Nan ... ça ne fonctionne pas ...

Merci quand meme
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Je viens de tester ton code :
<?php
$var = 20101201;
$var = $var + 1;
echo $var;
?>

Et j'ai bien 20101202
0
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
$var++

ou

$var += 1 et non pas $var += $var + 1;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
likopa
 
oui je suis d'accord avec toi !!

Le probleme est que je récupere à l'aide de la fonction substr seulement 2 chiffres :

$var = substr($date1, 6, 2);

Et la lorsque je fais : $var = $var + 1; alors que $var contient 02 au départ je me retrouve avec $var qui vaut 3 et non 03 ...
0
likopa
 
Merci azerty0, je crois bien que tu viens de me donner la solution.

Avec $var = $var + 1 => NON
Avec $var += 1 => NON
Avec $var = $var++ => OUI

Aller savoir pourquoi ...

Merci encore
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Peut être peux tu vérifier le nombre de caractère de ta chaine
si c'est égale à 1 tu met le 0 devant non ?
0
likopa
 
Eh bien en fait non, $var = $var++ ne me change absolument rien ...
0
Giorgiolino Messages postés 253 Date d'inscription   Statut Contributeur Dernière intervention   52
 
Bonjour,

quelle version de php utilises-tu ?
0
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
Si j'ai bien compris, c'est un soucis avec ta chaine de caractère qui recoit un 02 comme un entier et qui dégage donc le 0,

J'ai envie de dire, te prends pas la tête, fais un test sur la longueur de la chaine, et rajoute le 0 ensuite !
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Je viens de lui dire :)
les grands esprits se rencontrent :p
0
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
oups, j'avais pas vus, désolé. Tu portes pas plainte pour plagia hein :)
0
Giorgiolino Messages postés 253 Date d'inscription   Statut Contributeur Dernière intervention   52
 
Bonjour,

Melooo et azerty0, vous avez tous les deux raison dans l'absolu.


Sauf qu'il me semble d'après les précédents posts que notre ami travaille avec une date à laquelle il veut rajouter 1(plusieurs ?) jour(s). Et dans ce cas, c'est une très mauvaise idée de bricoler en rajoutant des 0 de-ci de-là. php fournit assez de méthodes pour se débrouiller "proprement".

Un contre-exemple simple :
Si $var = 31, // On est le 31.
$var++ vaudra 32.
Date qui n'existe malheureusement pas encore dans le calendrier.

Alors oui, on pourra enchaîner plein de tests, gérer tous les cas, etc. Cette façon de faire
porte un nom, ça s'appelle "réinventer la roue".

Donc comme il me semble que vous avez bien compris son problème, et que vous voulez l'aider, ce serait bien de le faire dans ce sens là.
0
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
Nous y avons pensé, enfin, sans vouloir impliquer Melooo.

Mais en informatique, j'estime que l'on comprend les choses lorsque l'on se heurte à elles. Si je lui dis que même notre aide lui apportera un futur problème, alors, il ne cherchera pas la solution et nous la demandera, ce qui n'est pas très pédagogiquement correct, tu l'entends bien ! De plus, si un jour, il est confronté à cette fameuse perte de 0, il saura palier le problème !

Mais ta remarque était tout de même pertinente.
0
likopa
 
J'ai donc fais cela :

if (strlen($var) == 1)
{
$var = '0'."".$var;
}

sans succes ...
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Je viens d'essayer sur mon poste et ton code fonctionne !
Prends en compte également la réponse de Giorgiolino
0
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
Likopa....

Tu cherches un problème au mauvais endroit, le code que tu écris est correct, mais ce sont mes manipulations précédentes qui ne le sont pas, ou le passage de string en int. Alors, tu tatonnes et essayes tout et n'importe quoi.


Reprends ton code, mets des echo dans tous les coins pour voir ce qui arrive en entrée, ce qui ressort et je te parie que tu règle ton problème en 10 minutes !
0
likopa
 
Résolu !! merci à tous
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Comme as tu fonctionné alors ?
0
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
Oui, je suis curieux de savoir, et oublies pas de mettre ton topic en résolu ;) en haut de ton premier post !
0