Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[PHP]Istruzione if/elseif non funziona come vorrei

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

[PHP]Istruzione if/elseif non funziona come vorrei

Postdi usag » 26/12/13 00:53

Buona notte (vista l'ora), nonché buone feste,
stavo provando a scrivere un piccolissimo script in Php su una ipotetica pagina html, il tutto, preciso, senza senso; era giusto per fare una prova, visto che mi sto addentrando da qualche giorno nello studio del Php.
Praticamente, il 'programma' consiste nel determinare il valore più alto di tre oggetti, a cui sono già stati assegnati dei valori.
Questo è lo script che ho fatto:

Codice: Seleziona tutto
<html>
  <head>
     <title> Calcolo TV piu' costosa </title>
  </head>

  <body>
      "<p align="center"><strong>Ora calcolo la TV piu' costosa tra quelle immesse</strong></p><br><br>;
   <?php
      $tv1=10;
      $tv2=15;
      $tv3=20;
     if ($tv1>$tv2 && $tv1>$tv3)
    {
        echo "La Tv1 costa di piu'";
    }
      elseif ($tv1>$tv2)
     {
        echo "La Tv3 costa di piu', e cioe' $tv3 euro";
    }
     else
    {
        echo "La Tv2 ha un maggior costo, pari a $tv2 euro";
     }
   ?>
  </body>
</html>


Ora, non mi restituisce alcun errore di sintassi o che, soltanto che mi dà come risultato più alto, il valore (15), quando ovviamente è palese che il valore corretto è il terzo (20).
È un'ora e mezzo che mi sto scervellando; non mi riesce di venirne fuori.
Pensavo di essere cretino, ma stasera mi sono veramente superato, devo farmi i complimenti! :lol:
Mi aiutate, per favore? sicuramente avrò sbagliato un controllo o cmq un qualcosa relativo alla logica del programma, altrimenti vuol dire che sto diventando un celebroleso integrale :undecided:
Stanotte non dormirò, scervellandomi su questo.
Grazie mille! di nuovo Auguri!
usag
Utente Senior
 
Post: 246
Iscritto il: 15/08/07 16:20

Sponsor
 

Postdi archimede » 27/12/13 10:12

Non ho analizzato attentamente, ma a occhio questo pare sospetto:
Codice: Seleziona tutto
...
      elseif ($tv1>$tv2)
     {
        echo "La Tv3 costa di piu', e cioe' $tv3 euro";
...
HTH.

Alessandro

PS: vedi anche max.
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi usag » 27/12/13 11:49

Ciao Archimede,
la funzione Max non la conoscevo (come detto, sto muovendo i primi passi in questo linguaggio), tuttavia a logica non ne venivo fuori, almeno apparentemente.
Per 'pare sospetto', cosa intendi? che ho sbagliato la comparazione?
Ho pensato che se la prima è 'false', allora per forza tv1 doveva essere minore di una delle 2, ed ecco il motivo di questa comparazione; almeno per la mia logica :roll: .
Se hai un'altra soluzione, sono tutto orecchie ;) .
Grazie!
usag
Utente Senior
 
Post: 246
Iscritto il: 15/08/07 16:20

Postdi archimede » 27/12/13 14:00

usag ha scritto:Per 'pare sospetto', cosa intendi? che ho sbagliato la comparazione?
Direi di sì, basta guardare i tuoi dati di esempio: $tv1 non è > di $tv2, quindi elseif è false.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi usag » 27/12/13 20:20

Bene, grazie!
usag
Utente Senior
 
Post: 246
Iscritto il: 15/08/07 16:20


Torna a Programmazione


Topic correlati a "[PHP]Istruzione if/elseif non funziona come vorrei":


Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti