Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    confrontare due array... in modo da...

    Es:

    Array1 ( [0] => 48 [1] => 77 )

    Array2 ( [0] => 1.2 [1] => 1.3 [2] => 1.4 [3] => 1.5 [4] => 2.3 [5] => 2.4 [6] => 2.5 [7] => 3.4 [8] => 3.5 [9] => 4.5 )

    Io dovrei procedere con un raffronto di questo tipo:

    se un elemento di array 1 (che è sempre costituito da due soli elementi) ...
    è presente in almeno uno degli elementi di array2 allora metti la variabile
    $r corrispondente a quell'array1 a 0 altrimenti incrementala di 1

    esempio pratico... (sviluppo dell'esempio sopra riportato..)

    in questo caso...
    non essendo presente nè il 48 nè il 77 in alcuno degli elementi di Array2 la variabile $r per Array1 ( [0] => 48 [1] => 77 ) dovrebbe essere incrementata di 1


    Spero che qualcuno/a più esperto/a riesca ad aiutarmi ad andare oltre rispetto dove sono arrivato io.

    thanks very much!


  2. #2
    non si capisce bene se devi incrementare entrambi i valori ed entrambi essere messi a zero... puoi comunque facilmente sistemare a tuo piacimento questo particolare.

    Prova se ti va bene, ho messo il 77 in $array2:

    Codice PHP:
    <?php

    $array1 
    = array( => 48=> 77 );

    $array2 = array( => 1.2=> 1.3=> 1.4=> 1.5=> 2.3,
                      
    => 2.4=> 2.5=> 3.4=> 3.5=> 77 );
    echo 
    "<pre>";
    print_r($array1);
    print_r($array2);

    foreach(
    $array1 as $key => $value) {

       if(
    in_array($value$array2) ) {
            echo 
    "esiste $value 
    "
    ;
            
    $array1[$key] = 0;
            } else {
                 echo 
    "NON esiste $value 
    "
    ;
                 
    $array1[$key] = $value 1;
                 }
    }
    print_r($array1);

    ?>

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    E' molto interessante il tuo script pieromac

    Però testato con questo caso:

    $array1 = array( 0 => 48, 1 => 77 );
    $array2 = array( 0 => 1.2, 1 => 1.3, 2 => 1.4, 3 => 1.5, 4 => 2.3, 5 => 2.4, 6 => 2.5, 7 => 3.4, 8 => 3.5, 9 => 77.84 );

    ovverosia con tutti i valori di array2 composti da due elementi... (a me servirebbe solo così..)

    mi da questa analisi errata... secono le mie esigenze:

    Array
    (
    [0] => 48
    [1] => 77
    )
    Array
    (
    [0] => 1.2
    [1] => 1.3
    [2] => 1.4
    [3] => 1.5
    [4] => 2.3
    [5] => 2.4
    [6] => 2.5
    [7] => 3.4
    [8] => 3.5
    [9] => 77.84
    )
    NON esiste 48 NON esiste 77 Array //invece uno dei due esiste

    Per quanto riguarda l'incremento..
    non intendevo incrementare ciascun valore di array1 di +1 bensì un altra variabile
    realtiva a questo array1 ad esempio $ritardoarray1.


    (
    [0] => 49
    [1] => 78
    )

    Spero di essere stato un pò più chiaro questa volta

    Comunque grazie mille


  4. #4
    i numeri non son desideri ma numeri, dimmi quale dei due esiste perche' mi sfugge.

    se intendi che vuoi considerare solo le cifre intere senza decimali basta che ti fai un array ad hoc con i soli interi. Non vedo il problema.

    Codice PHP:
    foreach($array2 as $value) {
         
    $array3[] = round(floor($value));
         } 
    e poi userai $array3 nella comparazione... (ovvio). Per quanto riguarda le variabili da incrementare o resettare ... mettici la variabile che ti pare.... giusto?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    il 77

    "i numeri non son desideri ma numeri, dimmi quale dei due esiste perche' mi sfugge."

    il 77 esiste nell'esempio

    Array
    (
    [0] => 48
    [1] => 77 )
    Array
    (
    [0] => 1.2
    [1] => 1.3
    [2] => 1.4
    [3] => 1.5
    [4] => 2.3
    [5] => 2.4
    [6] => 2.5
    [7] => 3.4
    [8] => 3.5
    [9] => 77 .84
    )

    Infatti non sono numeri decimali intervallati dal punto bensì coppie di numeri interi (potevo usare una lineetta era la stessa cosa..) trattasi solo di un elemento (il punto) indicante la coppia di numeri x ambo

    infatti trattasi di esperimenti lotto ludici

    Grazie infinite comunque


  6. #6
    ti avvicini al fenomeno. Dividere due interi con un punto.

    dividi le cifre:

    Codice PHP:
    foreach($array2 as $value) {
         list(
    $array3[], $array3[]) = explode('.'$value);
    }

    // se lo vuoi con valori unici:
    $array3 array_unique($array3);

    print_r($array3); 

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    ci sono quasi...

    $ritardo=0;

    foreach($array3 as $key => $value) {

    if(in_array($value, $array4) ) {
    echo "esiste $value
    ";
    } else {
    echo "NON esiste $value
    ";
    $ritardo++;
    print "
    <font color=red>$ritardo</font>
    ";
    }
    }

    Adesso non riesco ad associare l'incremento del ritardo al singolo valore...
    Alla fine con questo cod ottengo solo un tipo di ritardo incrementato di volta in volta di uno indipendente dal valore cui si riferisce... mentre io dovrei avere 90 tipi di irtardi diversi per intenderci...


    tnx


  8. #8
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    ulteriore problemuccio...

    ulteriore problema...

    array1 Array ( [0] => 2 [1] => 1 [2] => 3 [3] => 1 [4] => 4 [5] => 1 [6] => 5 [7] => 1 [8] => 6 [9] => 1 [10] => 7

    array2 Array ( [0] => 77 [1] => 48 [2] => 34 [3] => 48 [4] => 67 [5] => 48 [6] => 46 [7] => 48 [8] => 34 [9] => 77 [10] => 67

    io dovrei semplicemente.. confrontare questi due array prendendo due loro elementi alla volta...

    es...

    [0] => 2 [1] => 1 [2] Vs [0] 77 [1] => 48 [2]
    oppure
    [0] => 2 [1] => 1 [2] Vs [2] => 34 [3] => 48

    ed avere settato per ogni coppia di elementi di array1 una variabile $ritardo incrementabile in caso nessuno dei due valori dell'array1 sia presente nella coppia confrontata dell'array2

    Ed avere ad esempio secondo il primo caso postato sopra

    coppia [0] => 2 [1] => 1 ritardo = 1 in quanto nè il 2 nè l'1 sono presenti nella coppia confrontata dell'array2 [0] 77 [1] => 48 [2] ....

    Mi rendo conto della apparente complessità.. della cosa ma sono altresì sicuro...
    che uno script php semplicissimo.. (ma che ignoro assolatamente) sia in grado di fare questo confronto...



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.