Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Controllo su due array

  1. #1

    Controllo su due array

    Ciao a tutti,
    Come da titolo devo eseguire un controllo su due array, vado a spiegarmi meglio.

    Devo controllare che nell'array A esista un elemento dell'array B, per esempio
    A = (1,2,3,4)
    B = (5,3,1)

    E in output devo far visualizzare tutti gli elementi di A in diverse checkbox e se l'elemento di A è un elemento che esiste in B il checkbox dovrà essere spuntato.
    Per ora mi sto limitando al controllo in quanto vengono visualizzati dei doppioni e non va bene.

    Di seguito il codice per eseguire il controllo
    Codice PHP:
    //cate sarebbe l'array a dell'esmpio
    foreach($cate as $cat){
           
    //cat_elenco sarebbe l'array b dell'esempio
        
    foreach($cat_elenco as $categoria){
                if(
    in_array($categoria,$cat)){
                        echo 
    "Elemento trovato ".$categoria." -";
                    }else{
                        echo 
    "Elemento ".$cat." non trovato
    "
    ;
                    }
                }
            }

    Dove sbaglio?Ovviamente i doppioni sono dati dal doppio foreach ma non saprei come altro fare...
    Grazie mille a chi vorrà aiutarmi...

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    sbagli questo controllo
    Codice PHP:
    if(in_array($categoria,$cat)) 
    deve essere
    Codice PHP:
    if($categoria==$cat
    se vuoi fare con 2 foreach

    altrimenti puoi fare con uno foreach solo e usare il controllo in_array (ma fatto bene)
    Codice PHP:
    foreach($cate as $cat){ 
        if(
    in_array($cat,$cat_elenco)){ 
                   echo 
    "Elemento trovato ".$categoria." -"
       }
       else{ 
              echo 
    "Elemento ".$cat." non trovato
    "
    ;                 
       } 


  3. #3
    non ho capito come sarebbe la struttura degli array perchè da come hai fatto l'esempio (il codice) non sembrerebbero essere due array con una dimensione
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    bstefano79 ho messo l'ultimo pezzo di codice con il foreach e ho modificato $categoria con $cat_elenco per far visualizzare il record uguale... purtroppo esce la frase array

  5. #5
    Ho sistemato il tutto nel seguente modo:
    Codice PHP:
    foreach($cate as $cat){
                    if(
    in_array($cat,$cat_elenco)){
                        
    $ceck="checked";
                        echo 
    "<td valign='top'><input type='checkbox' value='".$cat."' name='ArticoloCat[]' $ceck>".$cat."</td>";
                    }else{
                        
    $ceck="";
                            echo 
    "<td valign='top'><input type='checkbox' value='".$cat."' name='ArticoloCat[]' $ceck>".$cat."</td>";
                    }
                } 
    Grazie a tutti per le risposte

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.