Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    107

    recupero dato da xml e operazione

    sto scrivendo la seguente funzione:

    Codice PHP:
    function forex_exchange() {
        if (isset(
    $_POST["curr_from"]) && isset($_POST["value_from"])) {
            
    $curr_from $_POST['curr_from'];
            
    $value_from $_POST['value_from'];
            
    $xml=simplexml_load_file("http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml");
            foreach (
    $xml->Cube->Cube->Cube as $c) {
                if (
    $c['currency'] == $curr_from)
                    
    $forex $c['rate'];
            }
            (float) 
    $forex// cast del valore recuperato dall'xml
            
    $change $value_from $forex;
            return 
    $change;
        }

    che, prelevando il forex aggiornato dal file xml, dovrebbe effettuare la conversione dalla valuta passatagli dal form sulla pagina html con la variabile $value_from .

    il problema è che non mi esegue l'operazione di divisione $change = $value_from / $forex;. mi restituisce semplicemente il valore di $value_from. c'è qualcosa che mi son perso?

    grazie!

  2. #2
    Stampa $forex e vedi cosa contiene.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    107
    si, ho dimenticato di scriverlo ma avevo già verificato che non fosse quello il problema: contiene "1.3384" (quindi ripesca correttamente il dato).

    inoltre eseguo il cast a float per evitare che lo consideri una stringa e quindi non esegua l'operazione...

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    107
    var_dump mi restituisce questo:

    <pre class='xdebug-var-dump' dir='ltr'>object(SimpleXMLElement)[5] string <font color='#cc0000'>'1.3384'</font> (length=6)</pre>

    quindi non mi esegue il cast?

  5. #5
    In effetti c'è un problema nel codice:

    Devi modificare questo:

    Codice PHP:
            ...
            (float) 
    $forex// cast del valore recuperato dall'xml
            
    $change $value_from $forex
            ... 
    in:

    Codice PHP:
            ...
            
    $floatforex = (float) $forex// cast del valore recuperato dall'xml
            
    $change $value_from $floatforex
            ... 
    oppure:

    Codice PHP:
            ...
            
    $change $value_from / (float) $forex
            ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    107
    oddio è vero! grazie...!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.