Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    46

    explode e confronto dati

    Il problema è voglio estrapolare i dati dei settori e poi fare un if in base ai risultati ottenuti

    Codice PHP:
    //esplodo i settori mi arrivano ad esempio una lista di numeri 2,4,6,8,
    //levo l'ultima virgola
    $sectors substr($sectors0, -1);
    $sectors explode(",",$sectors);
     
    lunghezzaArray count($sectors);
    //va tutto ok fino a qui
            
    for($i=0;$i<$lunghezzaArray;$i++)
    {
    $values =  trim($sectors[$i]);
    }
    //il problema è qui da ora in avanti
        
    if( $values=1
                {
                
    $value1="valore1=1"}
                else{
               
    $value1="valore1=null ";
                }
      if( 
    $values=2
                {
                
    $value2="valore2=1"}
                else{
               
    $value2="valore2=null ";
                }
    //ecc 
    I rusultati non sono quelli attesi...
    per esempio se la lista è 3,2,4,5 mi da tutti i valori=1

    Grazie

  2. #2
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    non so se sia giusto , ma dando un'occhiata veloce veloce

    for($i=0;$i<$lunghezzaArray;$i++)
    {
    $values = trim($sectors[$i]);
    }

    tu inserisci dentro $value un unico valore di $sectors[$i];
    domanda $values è un array?

    poi ho notato anche questo ...
    if( $values=1)
    {
    i valori dentro la if non vanno con == ?

    = vuol dire assegnazione
    == confronto
    === identico (se non erro) ti verifica se quella e pari pari al valore passato

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    46

    si ok

    Originariamente inviato da tapu
    non so se sia giusto , ma dando un'occhiata veloce veloce

    for($i=0;$i<$lunghezzaArray;$i++)
    {
    $values = trim($sectors[$i]);
    }

    tu inserisci dentro $value un unico valore di $sectors[$i];
    domanda $values è un array?

    poi ho notato anche questo ...
    if( $values=1)
    {
    i valori dentro la if non vanno con == ?

    = vuol dire assegnazione
    == confronto
    === identico (se non erro) ti verifica se quella e pari pari al valore passato
    intanto grazie della tua risposta.

    in $values vanno tutti i risultati del ciclo
    mettiamo lista numeri 1,2,3,4 data da explode
    $sectors[0]=1 $sectors[1]=2 $sectors[2]=3 $sectors[4]=4
    io vorrei fare una condizione che se il valore è 1 farai questo se è 2 farai quest'altro ec.
    potrei usare array_in che dici?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    46

    risolto con in_array

    Originariamente inviato da ldf1963
    intanto grazie della tua risposta.

    in $values vanno tutti i risultati del ciclo
    mettiamo lista numeri 1,2,3,4 data da explode
    $sectors[0]=1 $sectors[1]=2 $sectors[2]=3 $sectors[4]=4
    io vorrei fare una condizione che se il valore è 1 farai questo se è 2 farai quest'altro ec.
    potrei usare array_in che dici?
    risolto con in_array:
    Codice PHP:
    if(in_array(1,$sectors))         {echo"value1 esiste";}         else{echo"value1  non esiste";}       if(in_array(2,$sectors))         {echo"value2 esiste";}         else{echo"value2  non esiste";}          if(in_array(3,$sectors))         {echo"value3 esiste";}         else{echo"value3  non esiste";}            if(in_array(4,$sectors))         {echo"value4 esiste";}         else{echo"value4  non esiste";}           if(in_array(5,$sectors))         {echo"value5 esiste";}         else{echo"value5  non esiste";}          echo 

  5. #5
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    non conosco array_in , ma lo andro a guardare ora...
    il punto dovrebbe essere questo:

    for($i=0;$i<$lunghezzaArray;$i++)
    {
    $values = trim($sectors[$i]);
    }
    qui dentro tu cicli per tutta la capienza del tuo array e inserisci un solo valore in values.

    mi spiego un po meglio che a volte faccio fatica a capirmi da solo

    $value è una variabile, come tale può contenere un solo valore per volta che sioa stringa, numero,booleano.

    facendo come hai fatto $value avrà un solo valore , e per esattezza l'ultimo valore di $sectord[$i] ( sempre se non erro )

    quando tu effettui i tuoi if ed else

    if( $values=1)
    {
    $value1="valore1=1"}
    else{
    $value1="valore1=null ";
    }
    if( $values=2)
    {
    $value2="valore2=1"}
    else{
    $value2="valore2=null ";
    }

    oltre alla faccenda delle assegnazioni, $value avrà solo un valore!

    hai diverse possibilità che mi vengono in mente
    inserire la serie di if nel tuo ciclo
    far diventare $values da variabile semplice ad array che poi farai ciclare all'interno degli if else

    ciaica

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    46

    array_in è quello che serve

    Originariamente inviato da tapu
    non conosco array_in , ma lo andro a guardare ora...
    il punto dovrebbe essere questo:

    for($i=0;$i<$lunghezzaArray;$i++)
    {
    $values = trim($sectors[$i]);
    }
    qui dentro tu cicli per tutta la capienza del tuo array e inserisci un solo valore in values.

    mi spiego un po meglio che a volte faccio fatica a capirmi da solo

    $value è una variabile, come tale può contenere un solo valore per volta che sioa stringa, numero,booleano.

    facendo come hai fatto $value avrà un solo valore , e per esattezza l'ultimo valore di $sectord[$i] ( sempre se non erro )

    quando tu effettui i tuoi if ed else

    if( $values=1)
    {
    $value1="valore1=1"}
    else{
    $value1="valore1=null ";
    }
    if( $values=2)
    {
    $value2="valore2=1"}
    else{
    $value2="valore2=null ";
    }

    oltre alla faccenda delle assegnazioni, $value avrà solo un valore!

    hai diverse possibilità che mi vengono in mente
    inserire la serie di if nel tuo ciclo
    far diventare $values da variabile semplice ad array che poi farai ciclare all'interno degli if else

    ciaica
    ok se ho una lista di numeri (1,2,3,4,5)
    che derivano nel mio caso da explode faccio
    if(in_array(1,$sectors))
    {$value1 ="1";}
    else{$value1 ="null";}
    if(in_array(2,$sectors))
    {$value2 ="1";}
    else{$value2 ="null";}
    if(in_array(3,$sectors))
    {$value3 ="1";}
    else{$value3 ="null";}
    if(in_array(4,$sectors))
    {$value4 ="1";}
    else{$value4 ="null";}
    if(in_array(5,$sectors))
    {$value5 ="1";}
    else{$value5 ="null";}
    if(in_array(6,$sectors))
    {$value6 ="1";}
    else{$value6 ="null";}
    if(in_array(7,$sectors))
    {$value7 ="1";}
    else{$value7 ="null";}
    if(in_array(8,$sectors))
    {$value8 ="1";}
    else{$value8 ="null";}
    magari è fatto con l'ascia ma funzia bene...(è quello che serve a me)
    ad in_array dai 2 parametri il primo è il valore che deve trovare nell'array , il secondo l'array stesso

    Ciao

  7. #7
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    spettaccolo , io ho fattto una roba simile con il bobblesort, ora vedo se posso snellire il tutto con questa funzione alla quale ero ignaro ... grazie

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.