Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [PHP] Elementi doppi in array... ma quali?

    Salve a tutti!

    Premetto che ho assoldato il concetto di "array_unique" già discusso ampiamente.

    Però a me servirebbe sapere, in un array, quali sono gli elementi doppi.

    In pratica sarebbe un concetto di array_unique al contrario, che restituisca solo gli elementi doppi.

    Come posso fare?

    P.S. nel mio caso l'array è di questo tipo e il controllo è sul CF

    $ar[0][0]--> nome
    $ar[0][1]--> cognome
    $ar[0][2]--> ragione
    $ar[0][3]--> C.F.

    $ar[1][0]--> nome
    $ar[1][1]--> cognome
    $ar[1][2]--> ragione
    $ar[1][3]--> C.F.

    [...]
    Guybrush Threepwood

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    e se una volta ottenuti quelli che non sono ripetuti fai una differenza tra l'originale e quello nuovo ottenuto ?

    http://it2.php.net/manual/it/function.array-diff.php

    No pvt per sollecitare risposte, grazie.

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Se cerchi tra i commenti di array_count_values trovi delle funzioni che lavorano anche su array a più dimensioni.

  4. #4
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Sto provando così:

    Codice PHP:
    // $arra è un array monodimensionale con 5 celle

    $array1 = ($arra);
    $array2 array_unique($arra);
    $doppio array_diff($array1$array2);

    echo 
    count($doppio);

    for (
    $i=0;$i<count($doppio);$i++)
    {
        echo 
    $doppio[$i];    


    Problema : la "echo count($doppio)" ritorna Zero.... dove sbaglio?

    array1 --> 5 elementi
    array2 --> 1 elemento

    Nel primo array 2 CF sono uguali, i rimanenti 3 diversi
    Guybrush Threepwood

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da nicola75ss
    Se cerchi tra i commenti di array_count_values trovi delle funzioni che lavorano anche su array a più dimensioni.
    Codice PHP:
    function array_count_values_multidim($a,$out=false) {
      if (
    $out===false$out=array();
      if (
    is_array($a)) {
       foreach(
    $a as $e)
         
    $out=array_count_values_multidim($e,$out);
      }
      else {
       if (
    array_key_exists($a,$out))
         
    $out[$a]++;
       else
         
    $out[$a]=1;
      }
      return 
    $out;
    }

    $conta_multidim array_count_values_multidim($ar,$out=false);
    print_r($conta_multidim); 

  6. #6
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Così però succede una cosa strana.
    Se in un array ho 5 codici, esempio

    CCCFFFFFFFFF
    CCCFFFFFFFFF
    231231323123
    231231323123
    000020000000


    Se faccio echo count($conta_multidim); mi torna 1... non dovrebbe tornare 2?
    Guybrush Threepwood

  7. #7
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    edit : ho cannato copia & incolla

    Il problema su c'è ancora cmq
    Guybrush Threepwood

  8. #8
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    up
    Guybrush Threepwood

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.