Gå til innhold

Flere funksjoner med arrays (bruk av array_merge)


Anbefalte innlegg

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
Videoannonse
Annonse
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 av Finnduz
Lenke til kommentar
<?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 av Jonas
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...