Visualizzazione dei risultati da 1 a 8 su 8

Discussione: contare foreach

  1. #1

    contare foreach

    mi arriva un array con contenuto variabile
    lavoro con il foreach

    posso contare quanti elementi che mi elabora il foreach?


    foreach($_GET['id_valore'] as $key=>$value){
    if($value==1) {$criteria[] = "`id_valore`='".mysql_escape_string($key)."'"; }
    }
    $criteria = implode(' OR ', $criteria);
    www.moscabianca.biz- riusciremo a competere con i colossi dell'annuncio? un sogno che arriva dal basso

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:
    <?php
    $cnt
    =0;
    foreach(
    $_GET['id_valore'] as $key=>$value){
        if(
    $value==1){
            
    $criteria[] = "`id_valore`='".mysql_escape_string($key)."'";
            
    $cnt++;
            }
        }
    echo 
    $cnt."
    "
    ;
    $criteria implode(' OR '$criteria);
    ?>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    Non si capisce, vuoi contare tutti quelli dell'array o solo quelli uguali a uno?

    Nel primo caso:
    Codice PHP:
    $num=count($_GET['id_valore']);
    foreach(
    $_GET['id_valore'] as $key=>$value){
    if(
    $value==1) {$criteria[] = "`id_valore`='".mysql_escape_string($key)."'";}
    }
    $criteria implode(' OR '$criteria); 
    Nel secondo caso:
    Codice PHP:
    $num=0;
    foreach(
    $_GET['id_valore'] as $key=>$value){
    if(
    $value==1) {$criteria[] = "`id_valore`='".mysql_escape_string($key)."'"; ++$num;}
    }
    $criteria implode(' OR '$criteria
    Ciao
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  4. #4
    C'è sempre qualcuno più veloce, eh?

    dottwatson ha postato mentre scrivevo...
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    secondo me è più pratico fare un semplice count sull'array.

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    @furbo: lol

    @nickv: anche io l'avevo pensato, ma come dice sandro, l'array esiste già ed è popolato, quindi il count non è affidabile...

    lui vuole sapere gli 'affected elements' e lo può sapere solo con un contatore interno al foreach

    che poi mi fai venire un dubbio: vuol sapere quanti sono gli elementi aggiunti o il totale finale?

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    Originariamente inviato da dottwatson

    @nickv: anche io l'avevo pensato, ma come dice sandro, l'array esiste già ed è popolato, quindi il count non è affidabile...

    lui vuole sapere gli 'affected elements' e lo può sapere solo con un contatore interno al foreach

    che poi mi fai venire un dubbio: vuol sapere quanti sono gli elementi aggiunti o il totale finale?

    ah lol, mi era sfuggita quella parte della richiesta.

  8. #8

    foreach con contatroe interno

    il contatore interno va benissimo
    non era difficile ma pensavo che il foreach non facesse proprio il ciclo come il while invece si
    grazie mille
    www.moscabianca.biz- riusciremo a competere con i colossi dell'annuncio? un sogno che arriva dal basso

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.