Bruk av ternær operatør i PHP

Bruk av ternær operatør i PHP
If-Else Uttalelser brukes normalt til å definere betingede uttalelser på ethvert programmeringsspråk. ternær operatør (?: :) kan brukes som alternativet til et enkelt If-Else uttalelse. Det er en av Shorthand -sammenligningsoperatørene i PHP og inneholder tre operander: den betingede uttalelsen, uttalelsen for sann tilstand og uttalelsen for den falske tilstanden. Denne operatøren implementeres bedre med en enkel logisk uttalelse med kort kode fordi det er bedre å opprettholde og kan defineres i en enkelt uttalelse. Bruken av denne operatøren blir forklart i denne opplæringen.

Syntaks:

Syntaksen til den ternære operatøren er gitt nedenfor:

betinget uttalelse ? Uttalelse-1: Uttalelse-2

'?'og': 'Symboler brukes til å definere den ternære uttalelsen. Den første delen av denne uttalelsen inneholder den betingede uttalelsen. Hvis den betingede uttalelsen kommer tilbake, vil uttalelse-1 bli utført, ellers blir uttalelsen-2 utført.

Eksempel 1: Bruk av den ternære operatøren i tempoet i IF-Else-uttalelsen

Følgende eksempel viser måten å sammenligne IF-Else-setningen og den ternære operatøren for å implementere den betingede logikken for å finne et tall som er jevn eller merkelig. Opprett en PHP -fil med følgende skript.

Her, $ nummeret Variabel initialiseres med et heltallnummer. Til å begynne med, den If-Else uttalelse brukes til å sjekke om $ nummer er jevn eller merkelig. Deretter implementeres den samme logikken ved å bruke ternær operatør.

// definere et tall
$ nummer = 24;
// sjekk nummeret er jevnt eller merkelig ved å bruke IF-Else
if ($ nummer % 2)
$ resultat = 'Odd';
annet
$ resultat = 'jevn';

// Skriv ut resultatet
ekko "$ nummeret er $ resultat. (Utgangen fra if-ests-uttalelsen)
";
// Sjekk nummeret er jevnt eller merkelig ved hjelp av ternær operatør
$ resultat = ($ nummer % 2) ? 'Odd': 'Even';
// Skriv ut resultatet
ekko "$ nummeret er $ resultat. (Utgangen fra ternær operatør)
";
?>

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet fra serveren. I følge manuset, 24 er jevn, og begge utgangene genererer samme resultat.

Eksempel 2: Bruk av den ternære operatøren med $ _Get variabel

Følgende eksempel viser hvordan den ternære operatøren kan brukes til å sjekke om $ _Get -variabelen er initialisert eller ikke og lese verdien av denne variabelen. Opprett en PHP -fil med følgende skript.

Hvis verdien av 'Id' og 'Marks' leveres ved å bruke URL -spørringsstrengen, deretter vil skriptet skrive ut verdiene på $ _get ['id'] og $ _Get ['Marks'], ellers vil den skrive ut en feilmelding.

// Angi utgangen basert på tilstanden til den ternære operatøren
$ output = (isset ($ _ get ['id']) && isset ($ _ get ['Marks'])) ? 'Student ID: '. $ _GET ['ID'].'
Merker: '.$ _GET ['Marks']: 'Id eller merker er ikke gitt';
// Skriv ut verdien på utgangen
ekko $ utgang
?>

Produksjon:

Følgende utgang vises hvis skriptet blir utført uten å gi noen spørringsstreng.

Følgende utgang vises hvis skriptet blir utført med to spørringsstrenger. I utgangen, 342356 er gitt som en id verdi og 93 er gitt som merker verdi. Så begge verdiene skrives ut som utgangen.

Eksempel 3: Bruk av ternær operatør med $ _post [] variabel

Følgende eksempel viser bruken av den ternære operatøren for å lese verdiene til $ _postvariabelen. Opprett en PHP -fil med følgende skript.

En HTML -skjema brukes i skriptet for å ta to heltallstall fra brukeren. Den ternære operatøren brukes til å sjekke om tallene er numeriske eller ikke, og beregne summen av tallene. Hvis noe tall ikke er numerisk, vil skriptet skrive ut feilmeldingen, og hvis begge tallene er numerisk, vil summen av disse tallene bli skrevet ut.

// sjekk skjemaverdiene
if (isset ($ _ post ['n1']) && isset ($ _ post ['n2']))

// Bruk den ternære operatøren til å sjekke de innsendte verdiene er numeriske eller ikke
$ nummer1 = is_numeric ($ _ post ['n1']) ? $ _POST ['N1']: "

Angi den numeriske verdien.

";
$ nummer2 = is_numeric ($ _ post ['n1']) ? $ _POST ['N2']: "

Angi den numeriske verdien.

";
// beregne tillegget hvis begge feltverdiene er numeriske
$ resultat = is_numeric ($ nummer1) && is_numeric ($ nummer2) ? $ nummer1 + $ nummer2: $ nummer1;
// Skriv ut utgangen
if (is_numeric ($ resultat))
ekko "

Verdien etter tillegg: $ Resultat.

";
ellers
ekko $ resultat;

?>



Bruk av ternær operatør









Produksjon:

Følgende skjema vises hvis skriptet blir utført fra serveren. I utgangen, 67 og 56 er gitt som tallverdiene.

Følgende utdata vises etter å ha klikket på sendeknappen. Hvis sendeknappen trykkes ved å holde et felt tomt, vises en feilmelding.

Eksempel 4: Bruk av kjetting ternær operatør

Følgende eksempel viser bruken av den kjede ternære operatøren for å definere de flere forholdene ved bruk av flere ternære operatører. Denne typen oppgave kan gjøres ved hjelp av IF-Else-hvis-setningen. Opprett en PHP -fil med følgende skript.

En HTML -skjema brukes i skriptet for å velge et navn fra rullegardinlisten. Kontroller den innsendte verdien ved hjelp av den kjede ternære operatøren og skriv ut utgangen basert på samsvarende tilstand.




Bruk av ternær operatør



Skriv inn det første nummeret:
Skriv inn det andre nummeret:






// sjekk den innsendte verdien
if (isset ($ _ post ['name']))

// Angi verdien
$ name = $ _post ['name'];
// Angi fargen basert på den kjede ternære operatøren
$ resultat = ((strcmp ($ navn, 'mohammed ali') == 0) ? 'Blå':
((strcmp ($ navn, 'nila chowdhury') == 0) ? 'Rosa':
((strcmp ($ navn, 'meher afroz') == 0) ? 'Grønn': 'ingen')));
// Skriv ut utgangen
ekko $ resultat != 'Ingen' ? ""

Favorittfargen på $ navnet er $ resultat

":"

Ingen navn er valgt.

";

?>

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet fra serveren.

Følgende utgang vil vises hvis 'Nila Chowdhury' er valgt fra rullegardinlisten.

Følgende utdata vises hvis sendeknappen trykkes uten å velge noen verdi fra rullegardinlisten.

Konklusjon

De forskjellige bruksområdene til den ternære operatøren er blitt forklart i denne opplæringen ved hjelp av enkle eksempler for å hjelpe nye PHP -kodere. Null koalescing operatør kan brukes som alternativet til den ternære operatøren i PHP 7+.

Videoopplæring

Navn: