Den ternære operatør i PHP tillader dig at skrive simple " if-else " udsagn med én linje kode end med 2-5 linjer kode , der kan være nødvendige for en " if-else " erklæring . Det kan medvirke til at afkorte kodning tid og kan lave et program lettere at forstå og mere vedligeholdelsesvenlig . Den ternære operatør vil evaluere en betinget udtryk og returnerer resultatet af en erklæring , hvis det er sandt, og en anden opgørelse , hvis det er falsk. Den erstatter denne erklæring: if ($ x < 0) {$ result = "negative" ;} else { $ result = " ikke negative" ;} med denne erklæring: $ result = $ x < 0? "negativ ": " ikke negative" , Når du bruger ternære operatør , følg dokumenterede syntaksen for udtryk og vær forsigtig , når du opretter mere komplekse udtryk , der involverer indlejret erklæringer og variabler sendes som reference . Syntaks
Byg en erklæring med det ternære betingede operatør, som anvender en betinget udtryk , efterfulgt af et spørgsmålstegn og en erklæring at vurdere, om den betingede udtryk er sandt , efterfulgt af et kolon og en erklæring at vurdere, om den betingede udtryk er falsk. For eksempel tildeler følgende erklæring enten sand eller falsk til " is_teenager " variable baseret på en persons alder : Hej
$ is_teenager = ( $ alder > = 13 && $ alder < = 19 ) ? sandt : false;
udeladelse af den mellemste
PHP udgave 5.3 eller nyere, kan du oprette en endnu mere forkortet udtryk ved hjælp af ternære operatør ved at udelade midten af redegørelse og bruge det første udtryk som både den betingede udtryk og den værdi, der skal returneres, hvis den betingede udtryk er sandt . Opret en betinget sætning; efterfulgt af et spørgsmålstegn og et kolon , efterfulgt af redegørelsen at vurdere, om den betingede udtryk er falsk. Hvis den betingede udtryk er sandt , at resultatet er sandt. For eksempel returnerer følgende udtryk gælder, hvis en persons alder er mindre end 21 og falsk ellers
$ alder < 21: . ? False;
Nesting Udtalelser < br >
Må ikke oprette komplicerede udtryk ved hjælp af indlejrede betingede udsagn og ternære operatører. Når du gør dette , skal du typisk gøre koden sværere at forstå , sværere at fejlsøge og sværere at vedligeholde. Hvis du indlejrer udsagn , bruge parenteser , så det er klart, hvordan det endelige resultat bliver afledt eller overveje at bruge en alternativ struktur, såsom en " if-else " erklæring .
Resultatet er et Statement < br >
Hvis du bruger variabler sendes som reference med en ternære operatør husk at udtrykkene leveret med operatøren er udsagn , ikke variabler . Du kan ikke bruge en variabel sendes som reference i sig selv som en erklæring, fordi det ikke har nogen værdi. I PHP 5.3 og senere , vil du modtage en advarsel, hvis du konstruere en erklæring ved hjælp af en enkelt variabel sendes som reference .