⊗ppPmCdTO 101 of 447 menu

Ternære operator i PHP

Lad os sige, at vi har følgende kode, der kontrollerer om brugeren allerede er 18 år gammel eller ej:

<?php $age = 17; if ($age >= 18) { $adult = true; } else { $adult = false; } var_dump($adult); ?>

Som du kan se, bruges if-else-konstruktionen kun til at skrive en bestemt værdi i variablen $adult. Til sådanne opgaver, hvor der i betingelsen kun foregår tilskrivning af én variabel, findes der en kortere løsning via den såkaldte ternære operator.

Dens syntaks er som følger:

<?php variable = condition ? value1 : value2; ?>

Operatoren fungerer sådan: hvis betingelsen er sand, returneres value1, i modsat tilfælde - value2. Lad os omskrive koden fra begyndelsen af lektionen ved hjælp af den ternære operator:

<?php $age = 17; $adult = $age >= 18 ? true: false; var_dump($adult); ?>

Man kan forresten undlade at skrive resultatet i en variabel og i stedet straks udskrive det via var_dump:

<?php $age = 17; var_dump( $age >= 18 ? true: false ); ?>

Den ternære operator bør kun bruges i de mest simple tilfælde, da dens brug forvanser forståelsen af koden.

Lad der være givet en variabel $num, som enten kan være negativ eller positiv. Skriv i variablen $res tallet 1, hvis variablen $num er større end eller lig med nul, og tallet -1, hvis variablen $num er mindre end nul.

husvdeswaz