PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > php.general > Switch statement not recognizing compare value
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Switch statement not recognizing compare value

Réponse
 
LinkBack Outils de la discussion
Vieux 17/09/2007, 15h49   #1
Paul Hunter
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Switch statement not recognizing compare value

I'm new to PHP, and I'm stuck. I created the below class, and the switch
statement in Calculator.calculate() doesn't find a successful match for any
of the case values. I've checked with echo's, and the values are right (no
extra whitespace). What am I not doing right?

Thanks,
Paul

class Calculator {

var $operand1;
var $operand2;
var $operator;
var $result = "no result";

function Calculator ($o1, $o2, $op) {
$this->operand1 = $o1;
$this->operand2 = $o2;
$this->operator = $op;
} // Calculator

function calculate () {
switch ($operator) {
case "+":
$result = $op1 + $op2;
break;
case "-":
$result = $op1 - $op2;
break;
case "*":
$result = $op1 * $op2;
break;
case "/":
$result = $op1 / $op2;
break;
case "div":
$result = (int)$op1 / (int)$op2;
break;
case "mod":
$result = $op1 % $op2;
break;
default:
echo "calculate: operator not found<br>";
break;
} // switch

return $result;
} // calculate
} // class Calculator



  Réponse avec citation
Vieux 17/09/2007, 17h05   #2
ZeldorBlat
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Switch statement not recognizing compare value

On Sep 17, 10:49 am, "Paul Hunter" <baseball...@comcast.net> wrote:
> I'm new to PHP, and I'm stuck. I created the below class, and the switch
> statement in Calculator.calculate() doesn't find a successful match for any
> of the case values. I've checked with echo's, and the values are right (no
> extra whitespace). What am I not doing right?
>
> Thanks,
> Paul
>
> class Calculator {
>
> var $operand1;
> var $operand2;
> var $operator;
> var $result = "no result";
>
> function Calculator ($o1, $o2, $op) {
> $this->operand1 = $o1;
> $this->operand2 = $o2;
> $this->operator = $op;
> } // Calculator
>
> function calculate () {
> switch ($operator) {
> case "+":
> $result = $op1 + $op2;
> break;
> case "-":
> $result = $op1 - $op2;
> break;
> case "*":
> $result = $op1 * $op2;
> break;
> case "/":
> $result = $op1 / $op2;
> break;
> case "div":
> $result = (int)$op1 / (int)$op2;
> break;
> case "mod":
> $result = $op1 % $op2;
> break;
> default:
> echo "calculate: operator not found<br>";
> break;
> } // switch
>
> return $result;
> } // calculate
>
> } // class Calculator


Inside calculate() don't you really want to be using $this->operand1,
$this->operand2, and $this->operator?

  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 23h26.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,07212 seconds with 10 queries