Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: calcolare media

  1. #1

    calcolare media

    ciao a tutti

    rieccomi col solito problema...
    ho calcolato i ritardi di un tram e vorrei calcolare il valore medio da inserire come casella sotto la colonna ritardi (che allego)

    ho provato a scrivere così:


    function average($ritardi) {
    $a = split(' ', $ritardi);
    foreach ($a as $b) { $c = $c + $b; $d++; }
    return number_format($c/$d,0);
    }


    dove :

    $ritardo= ($line['tempi_fra_fermate']- $_REQUEST['tempo_programmato']);

    perche non mi restituisce nulla??? cosa sbaglio?


    grazie a tutti in anticipo siete sempre cosi diusponibili.
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    split è deprecato usa explode

    Codice PHP:
    function average($ritardi) {
        return 
    number_format(array_sum(explode(" "$ritardi ))/count($a),0);


  3. #3
    ciao longilineo innanzitutto grazie e buon natale,

    ho provato ma non mi restituisce nessun valore in cosa sbaglio?
    $a come la definisco?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    quello che vedo da ciò che hai scritto è che inizializzi la variabile $ritardo, poi definisci una funzione a cui passi come parametro una stringa $ritardi. Come inizilizzi questa stringa e come la passi alla funzione?

  5. #5
    mi rettifico, ho provato questo codice ma mi restituisce sempre l'ultimo numero della tabella (220) invece del valore medio che dovrebbe essere 225


    $ritardo= ($line['tempi_fra_fermate']- $_REQUEST['tempo_programmato']);
    function avgval($avg_vals) {
    if ( is_array($avg_vals) && count($avg_vals) > 1 ) {
    $return_vals = ( array_sum($avg_vals) / count($avg_vals) );
    } elseif ( is_array($avg_vals) && count($avg_vals) == 1 ) {
    $return_vals = current($avg_vals);
    } else {
    $return_vals = FALSE;
    }
    return $return_vals;
    }
    $media=avgval($ritardo);
    echo "avgval($ritardo)

    mi sapete spiegare come mai???

    grazie sempre a tutti.

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    fai un echo count($avg_vals)

  7. #7
    ciao bstefano, grazie del tuo aiuto ma non fuinziona mi restituisce :

    Undefined variable: avg_vals

    non so come mai.

    grazie ancora

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    lo devi fare qui il count

    Codice PHP:
    function avgval($avg_vals) {
    echo 
    count($avg_vals);
    etc etc 

  9. #9
    mi restituisce 1 scusa ma cosa sto sbagliando:


    function avgval($avg_vals) {
    echo count($avg_vals);
    if ( is_array($avg_vals) && count($avg_vals) > 1 ) {
    $return_vals = ( array_sum($avg_vals) / count($avg_vals) );
    } elseif ( is_array($avg_vals) && count($avg_vals) == 1 ) {
    $return_vals = current($avg_vals);
    } else {
    $return_vals = FALSE;
    }
    return $return_vals;
    }
    echo avgval($ritardo);



    non capisco. scusate ma non ci capisco nulla e solo da poco mi sono approcciato al php

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    come ottieni questa variabile??? $ritardo

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.