additionner 2 variables

additionner 2 variables - PHP - Programmation

Marsh Posté le 06-04-2005 à 15:46:02    

voilà mon problème (je précise tout d'abord si vous trouvez ma question très con que je n'ai pas bcp de connaissances en php) :
 
j'ai créé une fonction php qui me renvoit la taille d'un dossier et de ses sous-dossiers.
grâce à elle est calculé la taille de 2 comptes ftp sur mon serveur.
 
ce que je voudrais faire c'est additionner ces 2 nombres et afficher le résultat.
mais je ne sais pas trop comment faire.
j'ai fait ceci :
 
 

Code :
  1. include("http://sousdomaine.site.net/taille.php" );
  2. include("http://soudomaine2.site.net/taille.php" );
  3. $total = $taille_download1 + $taille_download2;
  4. echo $total


 
mais cela ne fonctionne pas, je n'ai pas le résultat du calcul mais juste les 2 nombre l'un après l'autre.
 
comment faire pour avoir le résultat du calcul, l'addition des 2 chiffres (sachant qu'ils changent très souvent)

Reply

Marsh Posté le 06-04-2005 à 15:46:02   

Reply

Marsh Posté le 06-04-2005 à 15:48:48    

Reply

Marsh Posté le 06-04-2005 à 16:50:02    

Simple, tes variables $taille_download1 et $taille_download2 sont pas initialisés (et n'ont donc pas de valeurs)


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 06-04-2005 à 16:51:43    

Master p a écrit :

Simple, tes variables $taille_download1 et $taille_download2 sont pas initialisés (et n'ont donc pas de valeurs)


 [:draculax_tt]  
 
(il pourrait être de bon aloy de lire la question avant de répondre...[:dawa])


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-04-2005 à 16:55:10    

Master p a écrit :

Simple, tes variables $taille_download1 et $taille_download2 sont pas initialisés (et n'ont donc pas de valeurs)


Et les 2 includes ?

Reply

Marsh Posté le 06-04-2005 à 16:57:14    

(au cas où ma première réponse n'était pas claire, tes variables sont considérées comme des chaines de caractères à priori, donc le '+' concatène au lieu d'additionner...d'où le lien vers le transtypage.)


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-04-2005 à 16:58:34    

C'est aussi pour ça qu'il est complètement aberrant d'avoir comme opérateur de concaténation le "+" :D

Reply

Marsh Posté le 06-04-2005 à 16:59:13    

FlorentG a écrit :

C'est aussi pour ça qu'il est complètement aberrant d'avoir comme opérateur de concaténation le "+" :D


 
NON.
C'est pour ça qu'il est complètement aberrant d'avoir des variables non typées!:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-04-2005 à 17:44:10    

skeye a écrit :

[:draculax_tt]  
 
(il pourrait être de bon aloy de lire la question avant de répondre...[:dawa])

[:shurik_tt_bis] J'ai relu le premier post...
Je vais sur le topic honte :whistle:
 
edit: j'ai pensé que ça provenait des includes qui fournissait les pages directement compilées, puisque dans différents sous-domaines


Message édité par Master p le 06-04-2005 à 17:46:53

---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 06-04-2005 à 17:59:50    

skeye a écrit :

NON.
C'est pour ça qu'il est complètement aberrant d'avoir des variables non typées!:o


Je dirais les deux. Ca enlève la possible confusion d'avoir autre chose pour la concaténation.

Reply

Marsh Posté le 06-04-2005 à 17:59:50   

Reply

Marsh Posté le 06-04-2005 à 19:02:59    

twisted a écrit :

mais cela ne fonctionne pas, je n'ai pas le résultat du calcul mais juste les 2 nombre l'un après l'autre.


 
Trés curieux ! j'ai jamais vu ça... une concaténation avec l'opérateur "+"


Message édité par ltiwebsite le 08-04-2005 à 15:25:22

---------------
http://www.lti-web-side.com
Reply

Marsh Posté le 06-04-2005 à 19:07:09    

ltiwebsite a écrit :

Trés curieux ! j'ai jamais vu ça... une concaténation avec l'opérateur "+"


Nombreux sont les langages qui ont + comme opérateur de conca

Reply

Marsh Posté le 07-04-2005 à 10:02:13    

En Javascript ;)
 
Par contre en PHP c'est très bizarre (l'opérateur de concaténation c'est le point) :heink:  

Code :
  1. <?php
  2. $str = "2";
  3. $str2 = "1";
  4. echo $str + $str2; // affiche 3
  5. echo $str . $str2; // affiche 21
  6. ?>


 

Citation :

Strings may be concatenated using the '.' (dot) operator. Note that the '+' (addition) operator will not work for this.


Message édité par ratibus le 07-04-2005 à 10:02:55
Reply

Marsh Posté le 07-04-2005 à 10:07:49    

ratibus a écrit :

En Javascript ;)
 
Par contre en PHP c'est très bizarre (l'opérateur de concaténation c'est le point) :heink:  

Code :
  1. <?php
  2. $str = "2";
  3. $str2 = "1";
  4. echo $str + $str2; // affiche 3
  5. echo $str . $str2; // affiche 21
  6. ?>


 

Citation :

Strings may be concatenated using the '.' (dot) operator. Note that the '+' (addition) operator will not work for this.



 
ah? ça marche sans transtypage, par défaut? :??:
Et avec des flottants? :whistle:


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-04-2005 à 10:19:13    

Oui ça marche, il suffit de lire la doc ;) :

Citation :

String conversion to numbers
 
When a string is evaluated as a numeric value, the resulting value and type are determined as follows.
 
The string will evaluate as a float if it contains any of the characters '.', 'e', or 'E'. Otherwise, it will evaluate as an integer.
 
The value is given by the initial portion of the string. If the string starts with valid numeric data, this will be the value used. Otherwise, the value will be 0 (zero). Valid numeric data is an optional sign, followed by one or more digits (optionally containing a decimal point), followed by an optional exponent. The exponent is an 'e' or 'E' followed by one or more digits.

Reply

Marsh Posté le 07-04-2005 à 10:23:03    

ratibus a écrit :

Oui ça marche, il suffit de lire la doc ;) :

Citation :

String conversion to numbers
 
When a string is evaluated as a numeric value, the resulting value and type are determined as follows.

The string will evaluate as a float if it contains any of the characters '.', 'e', or 'E'. Otherwise, it will evaluate as an integer.
 
The value is given by the initial portion of the string. If the string starts with valid numeric data, this will be the value used. Otherwise, the value will be 0 (zero). Valid numeric data is an optional sign, followed by one or more digits (optionally containing a decimal point), followed by an optional exponent. The exponent is an 'e' or 'E' followed by one or more digits.



 
ah oui, mais non. Moi ce que je veux savoir c'est si "3.12" est systématiquement évalué comme un numérique, justement.
 
Parce-que sinon je comprends pas pourquoi son code marche pas, au monsieur![:klem3i1]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-04-2005 à 10:38:35    

Code :
  1. $str1 = "5.23"; echo $str1."\n";
  2. $str2 = "4.25"; echo $str2."\n";
  3. echo $str1 + $str2."\n"."\n";
  4. $str1 = '5.23'; echo $str1."\n";
  5. $str2 = '4.25'; echo $str2."\n";
  6. echo $str1 + $str2;

Ça renvoie chez moi

5.23
4.25
9.48
 
5.23
4.25
9.48


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 07-04-2005 à 10:39:48    

...ou alors il a un truc du genre
$nombre1 = ' 12';


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-04-2005 à 10:44:01    

Chez moi, même en forçant $str1 et $str2 en string, c'est additionné comme étant des float


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 07-04-2005 à 10:51:13    

http://www.manuelphp.com/php/langu [...] ggling.php

Citation :

Un exemple de convertisseur automatique de type est l'opérateur '+'. Si un des opérandes est de type double, alors tous les opérandes sont évalués comme des variables de type double et le résultat est de type double. Sinon, tous les opérandes sont évalués comme des variables de type entier et le résultat sera du type entier...


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 07-04-2005 à 10:53:16    

skeye a écrit :

NON.
C'est pour ça qu'il est complètement aberrant d'avoir des variables non typées!:o


Trop pluzun !  [:master_jul]


---------------
I'm failing as fast as I can !! -- Vision-360, vos photos en grand format -- !! -- Les nouilles c'est bon
Reply

Marsh Posté le 07-04-2005 à 11:00:59    

Master p a écrit :

http://www.manuelphp.com/php/langu [...] ggling.php

Citation :

Un exemple de convertisseur automatique de type est l'opérateur '+'. Si un des opérandes est de type double, alors tous les opérandes sont évalués comme des variables de type double et le résultat est de type double. Sinon, tous les opérandes sont évalués comme des variables de type entier et le résultat sera du type entier...



[:mmmfff]
Je veux que quelqu'un m'explique le bug du monsieur!:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-04-2005 à 11:05:47    

Je demande un var_dump($taille_download1) :D

Reply

Marsh Posté le 07-04-2005 à 11:07:03    

skeye a écrit :

NON.
C'est pour ça qu'il est complètement aberrant d'avoir des variables non typées!:o

Sauf qu'elles le sont ;)
 
Tu peux tout faire en typé si tu veux :spamafote:

Reply

Marsh Posté le 07-04-2005 à 11:08:22    

skeye a écrit :

ah oui, mais non. Moi ce que je veux savoir c'est si "3.12" est systématiquement évalué comme un numérique, justement.
 
Parce-que sinon je comprends pas pourquoi son code marche pas, au monsieur![:klem3i1]

Tu sais lire l'anglais ?  :whistle:  

Reply

Marsh Posté le 07-04-2005 à 11:09:33    

ratibus a écrit :

Sauf qu'elles le sont ;)
 
Tu peux tout faire en typé si tu veux :spamafote:


euh non.
à-partir où tu peux faire

Code :
  1. $truc = 1;
  2. $truc = "prout";
  3. if($truc == 0){
  4.   echo 'hello";
  5. }


 
et que ça ne t'engueule nulle part tout en t'affichant heelo, je vois mal comment on peut dire que c'est typé!:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-04-2005 à 11:10:52    

Moi j'ai rien à dire sur le bug du môssieur (surtout après ma première tentative [:ula] ), mais je reprend juste la doc php [:spamafote]


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 07-04-2005 à 11:10:59    

ratibus a écrit :

Tu sais lire l'anglais ?  :whistle:


Oui, merci.
 

Citation :


When a string is evaluated as a numeric value, the resulting value and type are determined as follows.


 

Citation :


Quand une chaine est évaluée en tant que valeur numérique, la valeur et le type résultants sont déterminés comme suit.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-04-2005 à 11:13:24    

skeye a écrit :

euh non.
à-partir où tu peux faire

Code :
  1. $truc = 1;
  2. $truc = "prout";
  3. if($truc == 0){
  4.   echo 'hello";
  5. }


 
et que ça ne t'engueule nulle part tout en t'affichant heelo, je vois mal comment on peut dire que c'est typé!:o


Version typée  

Code :
  1. $truc = 1;
  2. $truc = "prout";
  3. if($truc === 0){
  4.   echo 'hello";
  5. }

;)

Reply

Marsh Posté le 07-04-2005 à 11:13:25    

ratibus a écrit :

Tu peux tout faire en typé si tu veux :spamafote:


skeye a écrit :

euh non.
à-partir où tu peux faire


Il a dit qu'on pouvait la faire en typé, pas que c'était obligé [:aloy]


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 07-04-2005 à 11:14:14    

skeye a écrit :

Oui, merci.
 

Citation :


When a string is evaluated as a numeric value, the resulting value and type are determined as follows.


 

Citation :


Quand une chaine est évaluée en tant que valeur numérique, la valeur et le type résultants sont déterminés comme suit.


Ben justement faut lire la suite ;)
 
PS : je tiens à préciser que ma remarque précédente (sur l'anglais) était de l'humour :D

Reply

Marsh Posté le 07-04-2005 à 11:14:54    

ratibus a écrit :

Version typée  

Code :
  1. $truc = 1;
  2. $truc = "prout";
  3. if($truc === 0){
  4.   echo 'hello";
  5. }

;)


'tain, un jour on va avoir droit à des :

if(machin ==================== bidule) {


Je suis bien content avec mon VB.NET où y'a ni ==, ni ===. Interdit de faire des assignation dans un if, et comme ça risque d'erreurs diminué de 78.4 % :o


Message édité par FlorentG le 07-04-2005 à 11:15:06
Reply

Marsh Posté le 07-04-2005 à 11:16:58    

ratibus a écrit :

Version typée  

Code :
  1. $truc = 1;
  2. $truc = "prout";



Same player shoot again.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 07-04-2005 à 11:21:53    

skeye a écrit :

Same player shoot again.


Encore un qui a "appris" la prog avec le php ! [:delarue2]


---------------
I'm failing as fast as I can !! -- Vision-360, vos photos en grand format -- !! -- Les nouilles c'est bon
Reply

Marsh Posté le 07-04-2005 à 11:26:42    

ratibus a écrit :

Version typée  

Code :
  1. $truc = 1;
  2. $truc = "prout";
  3. if($truc === 0){
  4.   echo 'hello";
  5. }

;)


[:delarue3]
 
Version typée :
$truc = 1;
$truc = "prout";
   |
   ---------> Error : implicit conversion from String to Integer not allowed
 
;)

Reply

Marsh Posté le 07-04-2005 à 11:53:08    

C'est pas fortement typé ça on est d'accord ;)
 
Mais le cas que tu présentes du if qui passe alors qu'il devra pas forcément, tu peux le gérer en typé c'est tout.
 
Encore une fois avant de programmer dans un langage faut lire la doc et voir comment ça marche avant de dire "C'est tout pourri" :D


Message édité par ratibus le 07-04-2005 à 11:54:37
Reply

Marsh Posté le 07-04-2005 à 11:53:42    

stiffler a écrit :

Encore un qui a "appris" la prog avec le php ! [:delarue2]

On se connait  :heink:  

Reply

Marsh Posté le 07-04-2005 à 11:54:14    

S'il l'auteur du topic veut bien nous faire des var_dump de ses variables :D

Reply

Marsh Posté le 07-04-2005 à 11:55:34    

ratibus a écrit :

On se connait  :heink:


Non  [:le poney de mr pink]
 
edit : mais je crois que t'as pas compris ce qu'on voulais te dire  ! [:dawa]


Message édité par stiffler le 07-04-2005 à 11:56:03

---------------
I'm failing as fast as I can !! -- Vision-360, vos photos en grand format -- !! -- Les nouilles c'est bon
Reply

Marsh Posté le 07-04-2005 à 11:56:37    

Si si je te rassure ;)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed