Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    verificare esistenza valori in array

    salve

    ho la necessità di controllare se uno dei valori presenti in un array X è presente anche nell' array Y.
    ps. i valori del primo array sono estratti randomicamente, e nel caso in cui nel secondo array esista il valore. è necessario eseguire di nuovo il controllo finchè non venga estratto un valore che non esista già nell'array Y.


    ho provato a far delle prove ma niente...mi sono fermato al primo step
    qui il codice

    Codice PHP:

    $valori 
    = array(1,10);  //array X
    $scelto array_rand($pp,1);  //valore da confrontare prelevato randomicamente dall'array X
    $esclusi = array(1,2,5,3); //array Y

    if (in_array($esclusi,$scelto)) {
        echo 
    "il valore esiste";
    } else
    {
    echo 
    "il valore non è presente";
    }
    ?> 

    grazie ciaoo

  2. #2
    2 cose:
    1)array_rand da come risultato 1 numero int se il secondo parametro è inesistente o uguale a 1;
    2)array_rand restituisce la posizione del numero che ha trovato;
    per saperne di più garda sul manualemanuale

  3. #3
    non ne vengo a capo

    accetto anche altre soluzioni diverse dalla mia

  4. #4
    Ecco qua
    Codice PHP:
    <?php
    $valori 
    = array(1,10);  //array X
    $esclusi = array(1,2,5,3); //array Y 

    //scelgo a caso un elemento nell'array X
    $scelto $valori[rand(0,(count($valori)-1))];


    //scorro l'array e controllo se il numero $scelto è presente
    $esiste=false;
    for(
    $i=0;$i<count($esclusi);$i++){
        if(
    $esclusi[$i]==$scelto){
            
    $esiste=true;
            break;
        }
    }

    if(
    $esiste){
    echo 
    "allora esiste";    
    }
    else
    {
        echo 
    "allora no";    
    }
    ?>

  5. #5
    grazie mattealex

    perchè visualizzo rand solo i valori 1 e 10?
    ps. ho refreshato un bel po di volte ma il valore non cambia

  6. #6
    perchè rand (credo tu intenda $scelto) è un numero presente nell'array X, con rand come da nota
    //scelgo a caso un elemento nell'array X

  7. #7
    Grazie...

    Codice PHP:
    <?php 
     $scelto 
    rand(1,10); 
     
    $esclusi = array(1,2,3,4); 
     
    $esistefalse;
     for(
    $i=0;$i<count($esclusi);$i++){    
     if(
    $esclusi[$i]==$scelto){        
     
    $esistetrue;    
       break;   
      }           
    }

     if(
    $esiste){ 
     echo 
    "non va bene ".$scelto
      } else {  
     echo 
    "ok "$scelto;
     } 
      
    ?>
    adesso comincia a ragionare

    il fatto è che vorrei che mi mostri solo un valore sicuramente non escluso "a prima botta"...

  8. #8
    se ho capito quello che vuoi fare:
    Codice PHP:
     <?php
    $valori 
    = array(1,10);  //array X
    $esclusi = array(1,2,5,3); //array Y 


    //scelgo a caso dal nuovo array
    $scelto rand(110);




    //scorro l'array e controllo se il numero $scelto è presente
    $esiste=false;
    for(
    $i=0;$i<count($valori);$i++){
        if(
    $valori[$i]==$scelto){
            
    $esiste=true;
            for(
    $k=0;$k<count($esclusi);$k++){
                 if(
    $esclusi[$i]==$scelto){
                     
    $esiste=false;
                    break;
                     }
            }
            break;
        }
    }

    if(
    $esiste){
    echo 
    "allora ".$scelto." esiste";    
    }
    else
    {
        echo 
    "allora ".$scelto." non esiste o &egrave; escluso";    
    }
    ?>

  9. #9
    grazie mille per l'aiuto che mi stai dando

    rendo piu chiaro ciò che intendo fare...

    Ti spiego, devo creare un sistema di gestione PASS. (i pass sono 30)
    devo fare in modo che il sistema all'avvio del programma visualizzi in automatico nel campo "n. pass" il numero di un pass qualsiasi (da 1 a 30) che non sia stato sicuramente usato precedentemente, in quanto man mano quelli usati vengono di volta in volta registrati ed esclusi.

    ps. nel prossimo step cercherò di farfunzionare tutto con l'ausilio di un db

  10. #10
    ecco a te:
    Codice PHP:
    <?php
    $valori 
    = array(3,10);  //array X
    $esclusi = array(1,2,5,3); //array Y 


    //scelgo a caso dal nuovo array

    $minimoRand=1;
    $MassimoRand=30;
    $scelto rand($minimoRand$MassimoRand);


    //scorro l'array e controllo se il numero $scelto è presente
    $esiste=false;

    $verificamax=1;
    $verificamin=1;


    if(
    $scelto==min($valori))
    for(
    $k=0;$k<count($esclusi);$k++){
        if(
    $esclusi[$k]==min($valori)){
            
    $scelto++;
        }
            
                     
    }
    for(
    $i=0;$i<count($valori);$i++){
        if(
    $valori[$i]==$scelto){
            
    $esiste=true;
            for(
    $k=0;$k<count($esclusi);$k++){
                 if(
    $esclusi[$k]==$scelto){
                     
    $esiste=false;     
                     break;
                     }
            }
            
            break;
        }
        
        
        if((
    $i+1)>=count($valori) && $scelto<max($valori) && $verificamax){
        
    $scelto++;
        
    $i=0;
            if(
    $scelto>=max($valori))
                
    $verificamax=0;
        }
        else
        if((
    $i+1)>=count($valori) && $scelto>min($valori) && $verificamin){
        
    $scelto--;
        
    $i=0;
            if(
    $scelto<=min($valori))
                
    $verificamin=0;
        }
    }

    if(
    $esiste){
    echo 
    "allora ".$scelto." esiste";    
    }
    else
    {
        echo 
    "Nessuna Ricorrenza";    
    }

    ?>

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 © 2024 vBulletin Solutions, Inc. All rights reserved.