Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Riempire Array

  1. #1

    Riempire Array

    ciao ragazzi,

    ho un'array con dei valori, devo tirarne fuori un'altro che conti quante volte ogni valore è presente:

    $stringona = "ciao|ciao|pippo|ciao|";
    $tok = strtok($stringona, "|");
    $i=0;
    while ($tok) {
    $valori[$i] = $tok;
    $tok = strtok("|");
    echo $valori[$i]."
    ";
    $i++;
    }

    da qui viene fuori

    ciao
    ciao
    pippo
    ciao

    mentre io dovrei tirare fuori

    ciao=3
    pippo=1

    qualcuno mi da una mano


    grazie mille

  2. #2
    puoi usare array_count_values() che conta proprio la frequenza dei valori restituendoti un array associativo
    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  3. #3
    Prova così:

    $stringona = "ciao|ciao|pippo|ciao|";
    $tok = explode("|", $stringona);

    $unici = array_unique($tok);
    foreach($tok as $element)
    {
    if (trim($element) != "")
    $valori[$element]++ ;
    }
    In a world without walls and fences - who needs windows and gates ?

  4. #4
    grazie ad entrambi

    funzionano entrambi i metodi, credo comunque che userò array_count_values(), non lo conoscevo, mi tornerà utile molto spesso


    ancora grazie

  5. #5
    tante volte servisse a qualcuno dopo di me:

    $stringona = "ciao|ciao|pippo|ciao|ciao|asda|aa|orco|asda|" ;
    $tok = strtok($stringona, "|");
    $i=0;
    while ($tok) {
    $valori[$i] = $tok;
    $tok = strtok("|");
    $i++;
    }
    $totali = array_count_values($valori);
    while(list($chiave,$valore)=each($totali)){
    echo $chiave."=".$valore."; ";
    }


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.