Page 1 sur 1

calcul complexe

Posté : 12 déc. 2006, 22:31
par ma_pomme
bonjour, bonsoir,

Je voudrais faire faire un calcul complexe a php mais je n'y arrive pas

mon calcul est [$var1+($var2*($var3+$var4))]*$var5

mais ça ne fonctionne pas je me retrouve a créé des variables a gogo en faisant mes calcul un par un pour arrivé a $var6*$var5

Il n'y aurait pas une autre solution :roll:

Posté : 12 déc. 2006, 22:40
par Ouaibou
---

Posté : 12 déc. 2006, 22:42
par Ajoloca
Bonsoir,

A quoi te servent les crochets [] ?

C'est pas ça que tu veux ?
($var1+($var2*($var3+$var4)))*$var5

Posté : 12 déc. 2006, 22:46
par ma_pomme
et bien je dois avoir des variable qui passe mal car ça me retourne pas mon calcul meme avec les parenthese a la place des crochets.

je vais voir ça
merci a vous deux pour les info

Posté : 12 déc. 2006, 22:53
par Ouaibou
---

Posté : 12 déc. 2006, 23:06
par Ajoloca
Si ça ne te retourne rien, vérifie que tes variables contiennent bien des nombres (entiers ou à virgules : int, float) et non une chaîne de caractères contenant un nombre. Auquel cas il faut que tu convertisses le nombre contenu dans cette chaîne en un nombre (int ou float) :

Code : Tout sélectionner

$var = (int) "35";
Tu n'as pas besoin de les convertir, ceci
<?php
	$a = "35";
	$b = "5";
	echo $a * $b;
?> 
Donne
175

Posté : 12 déc. 2006, 23:39
par Ouaibou
Ah merci je savais pas :D. Mais de toute façon ç'est pas très propre ni très correct de faire ainsi.

Posté : 13 déc. 2006, 00:01
par Ajoloca
Ah merci je savais pas :D. Mais de toute façon ç'est pas très propre ni très correct de faire ainsi.
Je n'ai jamais dit que c'était la façon idéale pour le faire, mais une des forces de PHP est son faible typage.
Ce qui veut dire qu'il est capable de convertir une variable dans le type nécessaire.

Ceci est bien plus propre (c'est un exemple)
<?php
	$a = "a";
	$b = "5";
	if(is_numeric($a)){
		$isnum = " est ";
		$a *= 1;
	}
	else{
		$isnum = " n'est pas ";
	}
	echo '$a ' . $isnum . 'num&eacute;rique et contient : ' . $a .'<br />';
	if(is_numeric($b)){
		$isnum = " est ";
		$b *= 1;
	}
	else{
		$isnum = " n'est pas ";
	}
	echo '$b ' . $isnum . 'num&eacute;rique et contient : ' . $b .'<br />';
?> 

Posté : 13 déc. 2006, 00:20
par ma_pomme
c'est bon en faite elle retournais rien car j'avais fais une faute de frappe en ecrivant le nom de ma variable :oops: