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

    (foreach)Come si ottiene il numero dei risultati elaborati?

    Ciao ragazzi.
    Si può ottenere il totale dei risultati elaborati tramite foreach?
    Me lo fate un esempio?

    Codice PHP:
    $stringa = array('parola1''parola2''parola3''parola4''parola5');
    foreach(
    $stringa as $category

  2. #2
    che vuol dire il numero di risultati elaborati? elaborati da chi? cosa? dove? che risultati? il count($stringa) ti serve? che situazione? che scenario? da dove veniamo? dove andiamo? ma la gallino o l'uovo prima? e il tacchino?

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Con count($stringa) ottieni il numero di elementi contenuti nell'array $stringa, oppure puoi fare una cosa del genere:

    Codice PHP:
    $stringa = array('parola1''parola2''parola3''parola4''parola5');
    $count 0;
    foreach(
    $stringa as $category) {
        
    $count++;
        ...

    Alla fine la variabile $count conterrà il numero di elementi contenuti nell'array.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Eh si, hai proprio ragione, ho posto male la domanda.
    In pratica vorrei avere il totale degli elementi elaborati dal foreach. Si può fare?

  5. #5
    Originariamente inviato da DigItalWarrior
    Eh si, hai proprio ragione, ho posto male la domanda.
    In pratica vorrei avere il totale degli elementi elaborati dal foreach. Si può fare?
    aridaje....

    il fatto è che se nel tuo foreach non ci sono break, ti basta fare un count($stringa) per sapere quanti "giri" farà il foreach, in caso contrario va bene l'idea data nel post precedente

    quindi:

    Codice PHP:

    //1)
    $stringa = array(...);

    foreach(
    $stringa as $category)
       
    //...do something

    echo "totale elaborati: ".count($stringa);


    //2)
    $tot=0;
    foreach(
    $stringa as $category){

    $tot++;

    if(
    condizione)
       break;

    }

    echo 
    "giri effettuati $tot
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Infatti avevo già provato come mi ha consigliato Satifal (grazie), ma purtroppo non funzionando ho dovuto chiedere qui:

    Posto il codice originale cosi magari mi aiutate meglio a posizionare il count():
    Codice PHP:
    $testo $post->post_content;
    $stringa = array('social network''marines''divieto per i marines''motivazione''attacchi'); 
    foreach(
    $stringa as $category
    $testo preg_replace("/($category)/i"'[b]<span style="background-color: #CCFF99">$1</span>[/b]'$testo);

    echo 
    $testo;


  7. #7
    Originariamente inviato da Santino83_02
    aridaje....

    il fatto è che se nel tuo foreach non ci sono break, ti basta fare un count($stringa) per sapere quanti "giri" farà il foreach, in caso contrario va bene l'idea data nel post precedente

    quindi:

    Codice PHP:

    //1)
    $stringa = array(...);

    foreach(
    $stringa as $category)
       
    //...do something

    echo "totale elaborati: ".count($stringa);


    //2)
    $tot=0;
    foreach(
    $stringa as $category){

    $tot++;

    if(
    condizione)
       break;

    }

    echo 
    "giri effettuati $tot
    Con la prima delle due opzioni ho provato e mi da il totale ma delle parole che si trovano nell'array indipendentemente da quelle trovate. Se le parole nell'array sono 7 e ne trova 1 mi da sempre 7.

  8. #8
    ah ok vedi che il problema è l'italiano

    se non specifichi che per "risultati trovati" intendi quelli di un match, è un cavolo ogni consiglio dato...credo che sia quindi:

    Codice PHP:

    $testo 
    $post->post_content
    $stringa = array('social network''marines''divieto per i marines''motivazione''attacchi');  
    foreach(
    $stringa as $category){
    $results 0;  
    $testo preg_replace("/($category)/i"'[b]<span style="background-color: #CCFF99">$1</span>[/b]'$testo,-1,$results); 

    echo 
    $testo
    echo 
    "trovati per $category $results occorrenze";

    o qualcosa di simile, vedi http://php.net/manual/en/function.preg-replace.php esempio 6
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    Ehehehe, ma come, io che sono laureato in lingua italianica mi dici che il problema è l'Italiano? Magari il problema è il linguaggio tecnico...
    Scherzi a parte e tornando allo script:
    Come avrai già capito lo script mi serve per evidenziare in un articolo le parole che si trovano nell'array. Nel modo in cui l'ho proposto nel mio primo post funziona a dovere ma successivamente si è reso necessario il contatore.
    Ora, nel modo in cui me lo hai proposto nel tuo ultimo post, purtroppo, mi ripete tutto l'intero articolo tante volte quante sono le parole dell'array.

    In pratica io vorrei ottenere qualcosa che alla fine dia il totale delle parole trovate ma senza ripetere, ovviamente, l'articolo.

  10. #10
    ma il contatore a che ti serve? Oo

    cmq:

    Codice PHP:

    $testo 
    $post->post_content;  
    $stringa = array('social network''marines''divieto per i marines''motivazione''attacchi');   
    $results = array();
    foreach(
    $stringa as $category){ 

    $testo preg_replace("/($category)/i"'[b]<span style="background-color: #CCFF99">$1</span>[/b]'$testo,-1,$results[$category]);  

    }
    //print articolo
    echo "il mio bell'articolo con le parole evidenziate 
     
    $testo";

    //print report
    foreach($results as $category => $tot)
     echo 
    "trovati n° $tot per la parola $category 
    "

    così?

    ovviamente io do per scontato che la prima parte del preg_replace (quella fino al "-1") sia funzionante già da prima
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.