Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    Problema con echo in un if che richiama funzione

    La funzione funziona (scusate il gioco di parole) ma l'echo non stampa a video, dove sbaglio?

    if (prossime_serate($nome_up)) {

    echo "Prossimi Eventi:
    ";

    prossime_serate($nome_up);

    }

  2. #2
    ciao, bisognerebbe vedere cosa produce in output la funzione prossime_serate($nome_up);
    alla fine dovrebbe ritornare una variabile

  3. #3
    Si ovviamente mi ritorna una variabile (non ho voluto mettere tutto il codice )

    Quindi la funzione viene richiamata e funziona, anche l'IF funziona nel senso che se la funzione torna un valore lo stampa altrimenti non manda a video nulla, solo che l'echo non va proprio...

  4. #4
    Ho fatto una cosa molto più semplice ... cmq non va!

    file prova.php

    codice:
    <?
    
    include("functions.php");
    
    $numero=5;
    
    if (quadrato($numero)) {
    
    echo "Calcolo quadrato del numero $numero: 
    ";
    
    quadrato($numero);
    
    }
    
    ?>
    funzione

    codice:
    function quadrato($num)
    {
    
    $totale=$num*$num;
    
    echo "Il quadrato di $num è $totale";
    
    }
    A video esce:

    Il quadrato di 5 è 25

    anziché

    Calcolo quadrato del numero 5:
    Il quadrato di 5 è 25

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Ci credo prima richiami la funzione e poi il resto fai cosi se vuoi risolvere facilmente:

    File:
    Codice PHP:
    <?

    include("functions.php");

    $numero=5;

    if (
    quadrato($numero)) {

    echo 
    "Calcolo quadrato del numero $numero
    "
    ;

    echo 
    quadrato($numero);

    }
    ?>
    Funzione:
    Codice PHP:
    <?
    function quadrato($num)
    {

    $totale=$num*$num;

    return 
    "Il quadrato di $num è $totale";

    }
    ?>

  6. #6
    Utente di HTML.it L'avatar di vnt54
    Registrato dal
    Mar 2009
    Messaggi
    500
    Riguarda bene il codice ed analizza il tutto,troverai la soluzione;bisogna sempre studiare il codice.
    Sono stato nella terra della paura e dei vampiri...in transilvania?NO!..in Banca!

  7. #7
    ok, dovresti aggiungere un return true alla fine della tua funzione
    Codice PHP:
    function quadrato($num)
    {

    $totale=$num*$num;

    echo 
    "Il quadrato di $num è $totale";
    return 
    true;

    ma così come l'hai scritta ti stamperà l'echo 2 volte, prima quando fai if($quadrato($numero)) e poi quando riscrivi la funzione. In pratica stampa l'echo all'interno di quadrato() ogni qualvolta la richiami.
    secondo me dovresti fare in questo modo:
    Codice PHP:
    function quadrato($num)
    {
    $totale=$num*$num;
    return 
    $totale;
    //senza echo
    }

    $numero=5;

    if(
    $ris=quadrato($numero)) {
    echo 
    "Calcolo quadrato del numero $numero
    "
    ;
    echo 
    $ris;

    Quando devi verificare se la funzione ha esito positivo o negativo devi metterci un return,
    per es, all'interno di una funzione andrebbe bene
    Codice PHP:
    function prova($parametro)
       {
        if(
    $parametro)
          {
            return 
    true;
          }
          else
          {
            return 
    false;
          }
      } 
    Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453

    Codice PHP:
    if($ris=quadrato($numero)) { 
    echo 
    "Calcolo quadrato del numero $numero
    "

    echo 
    $ris

    Mi spieghi che condizione sarebbe?


    Il metodo da utilizzare piu veloce e che risolve è quello che ho postato sopra
    torna il valore in stringa, quindi nell'if c'è un valore boolean vero e dopo stampi
    il return della funzione

  9. #9
    RoTeam
    Mi spieghi che condizione sarebbe?
    Ok, forse meglio come hai fatto tu, in fondo le ho sempre fatte secondo il tuo modello

    Comunque quello che volevo far notare all'autore del post è che se vuole verificare il risultato di una funzione deve metterci un return, e così come l'ha scritta lui con l'echo all'interno, glielo stampava ogni volta che la chiamava, anche nell'if.

    Ciao e grazie.

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da sergioDario
    Ok, forse meglio come hai fatto tu, in fondo le ho sempre fatte secondo il tuo modello

    Comunque quello che volevo far notare all'autore del post è che se vuole verificare il risultato di una funzione deve metterci un return, e così come la scritta lui con l'echo all'interno, glielo stampava ogni volta che la chiamava, anche nell'if.

    Ciao e grazie.
    Tranquillo non impongo il mio modello a nessuno, era solo una segnalazione di essere un po piu preciso nei codici

    L'idea dell'echo riutilizzabile andrebbe gestita con un altra variabile a parer mio

    esempio:
    Codice PHP:
    function quadrato($num,$s


    $totale=$num*$num

    if(
    $s)
    echo 
    "Il quadrato di $num è $totale";
    else
    return 
    true


    $numero=5

    if (
    quadrato($numero,0)) { 

    echo 
    "Calcolo quadrato del numero $numero
    "


    quadrato($numero,1); 


    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.