Finnduz Skrevet 27. oktober 2009 Del Skrevet 27. oktober 2009 Hei, Jeg har laget endel funksjoner som skal gjøre det lettere og lage brukersystemer. Hvis noen av disse funksjonene retunerer TRUE inneholder dem feilmelding(er) og retunerer en array. Spørsmålet mitt er da, hvordan kan jeg legge til flere arrays i en array_merge? hvis du/Dere skjønner? Sånn at jeg bare kan legge til en ny array hver gang en funksjon finner en feil. Skjønner at dette kan være vanskelig og forstå. Takker de tilbakemledingene jeg får Lenke til kommentar
Jonas Skrevet 27. oktober 2009 Del Skrevet 27. oktober 2009 [..] Hvis noen av disse funksjonene retunerer TRUE inneholder dem feilmelding(er) og retunerer en array. Hvordan kan funksjonene dine returnere to verdier? Bruken av array_merge er uansett forklart ganske godt i dokumentasjonen. Hvis du bare ønsker å legge til ett og ett element i et allerede eksisterende array, så finnes det lettere metoder enn array_merge. Lenke til kommentar
Finnduz Skrevet 27. oktober 2009 Forfatter Del Skrevet 27. oktober 2009 (endret) Hvordan kan funksjonene dine returnere to verdier? Den returnerer en array, derfor "mer enn bare en verdi". Men, retuners kun dersom det oppstår noen feil. Skjønner? F.eks // Check the lastname function validLastname($lastname, $minLenght, $maxLenght) { if($lastname == FALSE) { $error[] = "Du må skrive inn et etternavn."; } if(strlen($lastname) < $minLenght) { $error[] = "Etternavnet ditt var for kort."; } if(strlen($lastname) > $maxLenght) { $error[] = "Etternavnet ditt var for langt."; } if(is_numeric($lastname)) { $error[] = "Navnet ditt var ikke gyldig."; } if(isset($error)) { return $error; } } // Check the password function validPassword($password1, $password2, $minLenght, $maxLenght) { if($password1 == FALSE) { $error[] = "Du må skrive inn et passord."; } if($password2 == FALSE) { $error[] = "Du må skrive inn et passord."; } if(strlen($password1) < $minLenght) { $error[] = "Passordet ditt var for lite."; } if(strlen($password1) < $maxLenght) { $error[] = "Passordet ditt var for lite langt."; } if($password1 != $password2) { $error[] = "Passordene var ikke like."; } if(isset($error)) { return $error; } } Hvis begge disse retunerer feilmeldinger, må jeg "smelte" sammen arraysa for å skrive ut alt som en array (foreach). Men, hvordan kan jeg "legge til" flere arrays i en merge, skjønner? Endret 27. oktober 2009 av Finnduz Lenke til kommentar
Jonas Skrevet 27. oktober 2009 Del Skrevet 27. oktober 2009 (endret) <?php $errors = array_merge ( ( $errors = validLastname ( .. ) ) === true ? array () : $errors, ( $errors = validPassword ( .. ) ) === true ? array () : $errors ); if ( is_array ( $errors ) && count ( $errors ) > 0 ) die ( 'Errors occured: ' . implode ( ', ', $errors ) ); else echo 'Success!'; // Check the lastname function validLastname($lastname, $minLenght, $maxLenght) { if($lastname == FALSE) { $error[] = "Du må skrive inn et etternavn."; } if(strlen($lastname) < $minLenght) { $error[] = "Etternavnet ditt var for kort."; } if(strlen($lastname) > $maxLenght) { $error[] = "Etternavnet ditt var for langt."; } if(is_numeric($lastname)) { $error[] = "Navnet ditt var ikke gyldig."; } if(isset($error)) { return $error; } else { return true; } } // Check the password function validPassword($password1, $password2, $minLenght, $maxLenght) { if($password1 == FALSE) { $error[] = "Du må skrive inn et passord."; } if($password2 == FALSE) { $error[] = "Du må skrive inn et passord."; } if(strlen($password1) < $minLenght) { $error[] = "Passordet ditt var for lite."; } if(strlen($password1) > $maxLenght) { $error[] = "Passordet ditt var for lite langt."; } if($password1 != $password2) { $error[] = "Passordene var ikke like."; } if(isset($error)) { return $error; } else { return true; } } ?> Endret 27. oktober 2009 av Jonas Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå