Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Conteggio TRUE

  1. #1

    Conteggio TRUE

    Ciao a tutti, ho il seguente codice (che fa già il suo lavoro) e vorrei sfruttare lo stesso per ricavarmi il conteggio di tutti i valori che risultano TRUE.. è possibile?

    codice:
    $val = (($val1 == TRUE) || ($val2 == TRUE) || ($val3 == TRUE) || ($val4 == TRUE) || ($avvOggetto == TRUE) || ($val5 == TRUE) || ($val6 == TRUE) || ($val7 == TRUE) || ($val8 == TRUE) || ($val9 == TRUE)) ? 'OK' : '';
    
    echo $val;

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    No, devi testare una variabile alla volta e tenere il conto.

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ciao, no, con gli operatori logici non puoi ottenere un conteggio del genere. Non sono fatti per quello scopo.
    In linea di massima potresti però fare una semplice somma delle variabili, dal momento che false equivale a 0 e true equivale a 1.

    Codice PHP:
    $count $val1 $val2 $val3 $val4 $avvOggetto $val5 $val6 $val7 $val8 $val9;
    $val $count>'OK' '';
    echo 
    $count " >> " $val
    O, eventualmente, risolvere con l'uso di funzioni del genere:
    Codice PHP:
    $count array_sum(array($val1,$val2,$val3,$val4,$avvOggetto,$val5,$val6,$val7,$val8,$val9));
    $val $count>'OK' '';
    echo 
    $count " >> " $val
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #4
    Quote Originariamente inviata da magic_key Visualizza il messaggio
    Ciao a tutti, ho il seguente codice (che fa già il suo lavoro) e vorrei sfruttare lo stesso per ricavarmi il conteggio di tutti i valori che risultano TRUE.. è possibile?

    codice:
    $val = (($val1 == TRUE) || ($val2 == TRUE) || ($val3 == TRUE) || ($val4 == TRUE) || ($avvOggetto == TRUE) || ($val5 == TRUE) || ($val6 == TRUE) || ($val7 == TRUE) || ($val8 == TRUE) || ($val9 == TRUE)) ? 'OK' : '';
    
    echo $val;
    Giusto una nota: In questo modo non puoi perché una catena di OR viene interrotta al primo TRUE (che senso avrebbe continuare visto che serve un solo true per avere true?) :-)

    Inoltre puoi anche risparmiarti il "== TRUE"

    Se vuoi invece avere informazioni aggiuntive devi fare un array (per renderlo più leggibile ed evitare copia e incolla) come ti è stato suggerito

  5. #5
    Grazie a tutti, ho fatto come mi avete consigliato.. Siccome questa somma fa parte di un ciclo while (in pratica mi sono ricavato il numero di "errori" presenti in ogni record), ottengo la somma degli errori di ogni record.. esempio:

    record1 -> 1
    record2 -> 4
    record3 -> 0
    record4 -> 1
    ecc.

    c'è modo di sommare queste "somme" fuori dal ciclo while?

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prima del ciclo fai $totale = 0;

    nel ciclo dopo avere contato per una riga fai $totale = $totale + $conta_riga; ( ho scritto $conta_riga perchè non so come hai chiamato la conta).
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.