Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    3

    [PHP] Controllo su array

    Volevo sapere se qualcuno può auitarmi.
    Ho un array che vado a riempire in dinamico con valori numerici.
    Come possa fare la conta di quanti valori uguali ci sono dentro a questo array?
    Grazie Mille in anticipo

  2. #2
    Cosa vuol dire esattamente "quanti valori uguali ci sono dentro a questo array"? La differenza tra il numero di elementi e il numero di quelli unici? Se e' cosi' basta usare array_unique().

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    3
    Io un array tipo questo:
    Array ( [0] => 2 [1] => 13 [2] => 2 [3] => 7 [4] => 10 [5] => 6 [6] => 2 );

    Io volevo controllare in dinamico che non ci siano più di 2 valori uguali in questo array (in questo esempio sono il valore "2" è presente per 3 volte). Mi servirebbe uno script che mi dica che i valori ripetuti sono:

    val"2" ripetuto 3 volte
    val"13" ripetuto 1 volta
    val"7" ripetuto 1 volta
    val"10" ripetuto 1 volta
    val"6" ripetuto 1 volta

  4. #4
    Non puoi invece modificare il codice che crea l'array? Sarebbe molto piu' semplice ed efficiente.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    3
    e come potrei far controllare se il valore è già presente e per quante volte??

  6. #6
    Invece di inserire i valori nell'array, li usi come chiavi dell'array, e come valore usi il numero di volte che quella chiave viene usata. Esempio:
    Codice PHP:
    $array = array();
    for ( 
    $x 0$x 50$x++ ) {
        
    $num rand(15);
        if ( !isset(
    $array[$num]) ) {
            
    $array[$num] = 1;
        } else {
            
    $array[$num]++;
        }
    }

    foreach ( 
    $array as $key => $val ) {
        echo 
    "Il valore $key e' presente $val volte\n";


  7. #7
    Prova ad usare:

    Codice PHP:
    $m=1000;
    $c=Array();
    for(
    $t=0;$t<$m;$t++){$c[$t]=0;};
    for(
    $t=0;$t<count($a);$t++){
    $c[$a[$i]]++;
    }; 
    dove $a è il tuo array ed $m è il valore massimo che possono assumere i singoli elementi.
    Alla fine nell'array $c trovi per ciascun indice il numero di volte che compare in $a.
    Es: c$[3] conterrà il numero di elementi di $a che valgono 3.
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  8. #8
    Beh per quello puoi usare http://uk.php.net/manual/en/function...unt-values.php
    Io consigliavo solo di fare il lavoro all'inizio.

  9. #9
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    anche in_array($valore,$array) fa egregiamente il suo lavoro

    non te la spiego la funzione, parla da se

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

    il mio profilo su PHPClasses e il mio blog laboweb

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.