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

    Problema con confronto di due array simili...

    Entrambi monodimensionali ed entrambi aventi elementi costituiti da coppia di numeri intervallati da un punto (.)

    Per cercare di visualizzare meglio il mio problema....

    Ho questi due array...

    ARRAY A

    Array ( [0] => 40.33 [1] => 40.22 [2] => 40.1 [3] => 40.49 [4] => 33.22 [5] => 33.1 [6] => 33.49 [7] => 22.1 [8] => 22.49 [9] => 1.49 [10] => 64.48 [11] => 64.27 [12] => 64.5 [13] => 64.30 [14] => 48.27 [15] => 48.5 [16] => 48.30 [17] => 27.5 [18] => 27.30 [19] => 5.30 [20] => 86.58 [21] => 86.42 [22] => 86.69 [23] => 86.49 [24] => 58.42 [25] => 58.69 [26] => 58.49 [27] => 42.69 [28] => 42.49 [29] => 69.49 [30] => 74.70 [31] => 74.52 [32] => 74.81 [33] => 74.43 [34] => 70.52 [35] => 70.81 [36] => 70.43 [37] => 52.81 [38] => 52.43 [39] => 81.43 [40] => 23.36 [41] => 23.69 [42] => 23.37 [43] => 23.65 [44] => 36.69 [45] => 36.37 [46] => 36.65 [47] => 69.37 [48] => 69.65 [49] => 37.65 [50] => 77.52 [51] => 77.50 [52] => 77.3 [53] => 77.39 [54] => 52.50 [55] => 52.3 [56] => 52.39 [57] => 50.3 [58] => 50.39 [59] => 3.39 [60] => 12.52 [61] => 12.4 [62] => 12.61 [63] => 12.33 [64] => 52.4 [65] => 52.61 [66] => 52.33 [67] => 4.61 [68] => 4.33 [69] => 61.33 [70] => 73.61 [71] => 73.47 [72] => 73.77 [73] => 73.82 [74] => 61.47 [75] => 61.77 [76] => 61.82 [77] => 47.77 [78] => 47.82 [79] => 77.82 [80] => 35.75 [81] => 35.34 [82] => 35.61 [83] => 35.20 [84] => 75.34 [85] => 75.61 [86] => 75.20 [87] => 34.61 [88] => 34.20 [89] => 61.20 [90] => 19.70 [91] => 19.9 [92] => 19.82 [93] => 19.22 [94] => 70.9 [95] => 70.82 [96] => 70.22 [97] => 9.82 [98] => 9.22 [99] => 82.22 [100] => 28.55 [101] => 28.7 [102] => 28.59 [103] => 28.21 [104] => 55.7 [105] => 55.59 [106] => 55.21 [107] => 7.59 [108] => 7.21 [109] => 59.21 [110] => 85.90 [111] => ....

    e ARRAY B

    Array ( [0] => 1.2 [1] => 1.3 [2] => 1.4 [3] => 1.5 [4] => 1.6 [5] => 1.7 [6] => 1.8 [7] => 1.9 [8] => 1.10 [9] => 1.11 [10] => 1.12 [11] => 1.13 [12] => 1.14 [13] => 1.15 [14] => 1.16 [15] => 1.17 [16] => 1.18 [17] => 2.3 [18] => 2.4 [19] => 2.5 [20] => 2.6 [21] => 2.7 [22] => 2.8 [23] => 2.9 [24] => 2.10 [25] => 2.11 [26] => 2.12 [27] => 2.13 [28] => 2.14 [29] => 2.15 [30] => 2.16 [31] => 2.17 [32] => 2.18 [33] => 3.4 [34] => 3.5 [35] => 3.6 [36] => 3.7 [37] => 3.8 [38] => 3.9 [39] => 3.10 [40] => 3.11 [41] => 3.12 [42] => 3.13 [43] => 3.14 [44] => 3.15 [45] => 3.16 [46] => 3.17 [47] => 3.18 [48] => 4.5 [49] => 4.6 [50] => 4.7 [51] => 4.8 [52] => 4.9 [53] => 4.10 [54] => 4.11 [55] => 4.12 [56] => 4.13 [57] => 4.14 [58] => 4.15 [59] => 4.16 [60] => 4.17 [61] => 4.18 [62] => 5.6 [63] => 5.7 [64] => 5.8 [65] => 5.9 [66] => 5.10 [67] => 5.11 [68] => 5.12 [69] => 5.13 [70] => 5.14 [71] => 5.15 [72] => 5.16 [73] => 5.17 [74] => 5.18 [75] => 6.7 [76] => 6.8 [77] => 6.9 [78] => 6.10 [79] => 6.11 [80] => 6.12 [81] => 6.13 [82] => 6.14 [83] => 6.15 [84] => 6.16 [85] => 6.17 [86] => 6.18 [87] => 7.8 [88] => 7.9 [89] => 7.10 [90] => 7.11 [91] => 7.12 [92] => 7.13 [93] => 7.14 [94] => 7.15 [95] => 7.16 [96] => 7.17 [97] => 7.18 [98] => 8.9 [99] => 8.10 [100] => 8.11 [101] => 8.12 [102] => 8.13 [103] => 8.14 [104] => 8.15 [105] => 8.16 [106] => 8.17 [107] => 8.18 [108] => 9.10 [109] => 9.11 [110] => 9.12 [111] => 9.13 [112] => 9.14 [113] => 9.15 [114] => 9.16 [115] => 9.17 [116] => 9.18 [117] => 10.11 [118] => 10.12 [119] => 10.13 [120] => 10.14 [121] => 10.15 [122] => 10.16 [123] => 10.17 [124] => 10.18 [125] => 11.12 [126] => 11.13 [127] => 11.14 [128] => 11.15 [129] => 11.16 [130] => 11.17 [131] => 11.18 [132] => 12.13 [133] => 12.14 [134] => 12.15 [135] => 12.16 [136] => 12.17 [137] => 12.18 [138] => 13.14 [139] => 13.15 [140] => 13.16 [141] => 13.17 [142] => 13.18 [143] => 14.15 [144] => 14.16 [145] => 14.17 [146] => 14.18 [147] => 15.16 [148] => 15.17 [149] => 15.18 [150] => 16.17 [151] => 16.18 [152] => 17.18 [153] => 19.20 [154] => 19.21 [155] => 19.22 [156] => 19.23 [157] => 19.24 [158] => 19.25 [159] => 19.26 [160] => 19.27 [161] => 19.28 [162] => 19.29 [163] => 19.30 [164] => 19.31 [165] => 19.32 [166] => 19.33 [167] => 19.34 [168] => 19.35 [169] => 19.36 [170] => 20.21 [171] => 20.22 [172] => 20.23 [173] => 20.24 [174] => 20.25 [175] => 20.26 [176] => 20.27 [177] => 20.28 [178] => 20.29 [179] => 20.30 [180] => 20.31 [181] => 20.32 [182] => 20.33 [183] => ...

    nonostante la "SIMILITUDINE"...

    l'operazione di confronto...

    $array1 = $arrayA;
    $array2 = $arrayB;
    $risultato = array_diff($array1, $array2);

    sembra non funzionare...

    In quanto nonostante alcuni elementi dell'ARRAY B sono presenti in ARRAY A ... mi risulta...

    $risultato = TUTTI GLI ELEMENTI DELL'ARRAY B cosa non vera.... :rollo:

    Grazie per chi mi illumina... sulla cantonata...


  2. #2
    Per cominciare forse è il caso che rileggi la documentazione su array_diff():

    http://www.php.net/array_diff

    Poi:

    Codice PHP:
    <pre>
    <?php 
    $A 
    = array('1.1''1.2''1.3');
    $B = array('1.1''2.1''3.1');

    print_r(array_diff($A$B));
    print_r(array_diff($B$A));
    ?>
    </pre>

  3. #3
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    premesso che non ho capito il motivo del perchè rinomini due variabili:
    $array1 = $arrayA
    ecc..

    è evidente che vede l'array1 come vuoto.

    prob.. c'è qualche errore di sintassi su come ricavi $array1
    bye

  4. #4
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    ooopss c'è filippotoso che ammiro ... senza scherzi!
    allora, a prescindere dalla non commutatività della differenza, ho preso una cantonata?

  5. #5
    Originariamente inviato da *pragma
    a prescindere dalla non commutatività della differenza, ho preso una cantonata?
    Non saprei, non è che si capisce molto quale sia il problema ne se array_diff() sia realmente la funzione necessaria a freetom.

    Magari se posta un esempio reale con, che so, 5 elementi per array, si potrebbe capire meglio che cosa deve fare.

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

    Ecco l'esempio + reale...

    Originariamente inviato da filippo.toso
    Non saprei, non è che si capisce molto quale sia il problema ne se array_diff() sia realmente la funzione necessaria a freetom.

    Magari se posta un esempio reale con, che so, 5 elementi per array, si potrebbe capire meglio che cosa deve fare.

    con 5 elementi per array...

    Array-A ( [0] => 40.33 [1] => 40.22 [2] => 40.1 [3] => 40.49 [4] => 33.22)

    Array-B ( [0] => 40.22 [1] => 1.3 [2] => 40.49 [3] => 1.4 [4] => 40.33)


    Perchè non avviene il giusto confronto con questi due array? mentre per l'esempio da voi postato il tutto funzia?

    Grazie ad entrambi


  7. #7
    Codice PHP:
    <pre>
    <?php

    $A 
    = array ('40.33''40.22''40.1''40.49''33.22');
    $B = array ('40.22''1.3''40.49''1.4''40.33');

    print_r(array_diff($A$B));
    print_r(array_diff($B$A)); 

    ?>
    </pre>
    Risultato:

    Codice PHP:
    Array
    (
        [
    2] => 40.1
        
    [4] => 33.22
    )
    Array
    (
        [
    1] => 1.3
        
    [3] => 1.4

    Quale dovrebbe essere secondo te?

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

    questo problema l'ho risolto grazie...

    era semplicemente.. che il secondo array confrontato aveva i due elementi separati da virgole anzichè da punti...

    svista dovuta alla stanchezza

    Adesso sto impazzendo per questo invece...

    $array1 = $nuovoarrayordineinverso;
    $array2 = $arrayonemonodimensionale;
    $resulta = array_intersect($array1, $array2);
    print_r($resulta);

    $conto=count($resulta);

    print $conto;

    print "

    ";

    for ($i=0; $i<$conto; $i++) {

    print "prova $i"; //questo non da errori...

    }

    print "

    ";

    for ($i=0; $i<$conto; $i++) {

    print $resulta[$i] ; //mi da errore... Undefined offset: 498

    }

    :master:


    tnx


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.