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

    problema comparazione stringhe

    Buongiono a tutti,
    sto comparando due stringhe che apparentemente (con una stampa a video) sono uguali ma utilizzando sia l'operatore == che la funzione strcmp() risultato differenti (risultati -8).

    Sono tutte e due di tipo string e non hanno spazi vuoi (usato funzione trim).

    La prima è ottenuta da una database mysql con una query e la seconda stringa è passata da un form per la scelta di un file. Il valore della stringa è in pratica il nome file ottenuto con $_FILES['nome_file']['name'];

    Ho bisogno di avere un risultato che mi dica effettivamente che il nome del file scelto con il form corrisponda al nome del file presente nel db.

    Avete qualche idea?

    Grazie!

    A.S.

  2. #2
    strcmp e' case sensitive e ritorna un numero <0 se la 1° stringa e' minore della 2° e viceversa, ritorna 0 e non 1 se sono uguali, significa che se tu scrivi: if(strcmp($s0,$s1))
    se sono uguali ritorna false poiche' 0 e' visto come false.
    io ti consiglio di usare == cosi:

    if(strtolower((string)$0)==strtolower((string)$s1) )

    cosi eviti il problema

  3. #3
    Niente da fare. Il mio codice è questo ma anche con il tuo suggerimento non cambia nulla.

    if (strcmp($file, $line[0])==0)
    {
    $halt = 0;
    echo "uguali
    ";
    }
    else
    {
    echo "diversi
    ";
    }

  4. #4
    Posta il risultato di questo codice:

    Codice PHP:
    var_dump($file);
    var_dump($line[0]); 

  5. #5
    string(12) "gare2008.xls" string(20) "gare2008.xls "

    Effettivamente mi vede uno spazio in più nella seconda variabile... anche se io eseguo già echo trim($file); su entrambe le variabili.

  6. #6
    Ho risolto... era il campo del database di 20 caratteri. Evidentemente la stringa risultante considerava anche i caratteri vuoti.

    Fortunatamente ho tutti nomi file di lunghezza uguale e mi è bastato ridurre la lunghezza del campo a 12 char.

    Grazie!!!

    Ale

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.