Jeg har lige forsøgt at flytte tekst valideringen over 0 valideringen og nu virker det tilsyneladende. Men hvorfor, forstår jeg stadig ikke, så points afgives ved god forklaring.
function fn_year_all_or_not($value) {
if (is_string($value)) { $result = "variablen er en streng"; } elseif ($value == 0) { $result = "varablen er 0"; }else { $result = $value; }
jeg er ved at lave noget dato validering. jeg har en mysql db med et int(11) felt som er et unix_timestamp dem henter jeg ind i en dropdown menu, men i de tilfælde hvor timestamp er 0, skal den jo ikke skrive 0, men f.eks. hellere "year not specified".
denne dropdown anvendes så i en overordnet sql som trækker poster ud fra selvsamme db, og derfor bliver jeg nødt til at lave f.eks. "year not specified" om til 0 igen....
hvis jeg f.eks. kalder funktionen fn_year_all_or_not(2003) så ryger variablen lige igennem funktionen dvs. ikke nogen streng.
hvis jeg kalder funktionen: fn_year_all_or_not("asdfasdf") returnerer den "variablen er en streng"
hvis jeg kalder funktionen: fn_year_all_or_not(0) returnerer den "variablen er 0"
så det ser for mig at se IKKE ud til at det altid vil være en streng...men hvis jeg fjerner is_string så ser det ud til at den opfatter "2002" som et tal...det synes jeg er noget underligt
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.