Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    183

    ciclo per intersezioni di array

    Ciao!
    Vorrei trovare una soluzione elegante per questo problema:
    come risultato devo trovare l'intersezione di più array (funzione array_intersect() ).
    Il problema è che nel mio programma il numero dei vettori è variabile.

    Dovrei quindi creare un ciclo per evitare questo schifo:

    codice:
    $cc=count($list);
    $risultato=array();
    if($cc==1){
    	$risultato = $list[0];
     }
     if($cc==2){
    	$risultato = array_intersect($list[0], $list[1]);
     }
     if($cc==3){
    	$risultato = array_intersect($list[0], $list[1], $list[2]);
     }
     if($cc==4){
    	$risultato = array_intersect($list[0], $list[1], $list[2], $list[3]);
    }
    Visto che nel mio caso non vorrei porre un limite al numero di vettori presenti, ho la necessità di un ciclo.
    Sono un po' fuso e ci sto ragionando da ore ma non trovo la soluzione che sicuramente sarà banale...
    Grazie

  2. #2
    Codice PHP:
    $elenco = array($array1,$array2,$array3);
    $risultato call_user_func_array('array_intersect',$elenco);
    print_r($risultato); 
    Pensate i programmi a librerie, e innalzate il livello d'astrazione

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    183
    Quote Originariamente inviata da Infocurci Visualizza il messaggio
    Codice PHP:
    $elenco = array($array1,$array2,$array3);
    $risultato call_user_func_array('array_intersect',$elenco);
    print_r($risultato); 
    Grazie, però ora il problema si sposta nel generale $elenco.
    Anche in questo caso avrei bisogno di un ciclo per generare array($array1,$array2,$array3.....)
    Giusto?
    Come fare quindi?

  4. #4
    Codice PHP:
    $elenco = array();
    $elenco[] = array('primo','secondo','terzo');
    $elenco[] = array('secondo','tizio','caio'); 
    Pensate i programmi a librerie, e innalzate il livello d'astrazione

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    183
    Quote Originariamente inviata da Infocurci Visualizza il messaggio
    Codice PHP:
    $elenco = array();
    $elenco[] = array('primo','secondo','terzo');
    $elenco[] = array('secondo','tizio','caio'); 
    Già... oggi sono particolarmente fuso...
    grazie mille

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.