<?php

/* Beispiel zum Artikel: Der Trinitäts-Operator
 *
 * www.antusblog.de
 */

$siezen true;

// Normale Form, mit if und 5 Zeilen
if ($siezen) {
    echo 
"Klicken Sie hier, ";
} else {
    echo 
"Klicke hier, ";
}

echo 
"um zur vorherigen Seite zurückzukehren.";

// Mit dem Trinitäts-Operator, 1 Zeile
echo ($siezen) ? "Klicken Sie hier, " "Klicke hier, ";

echo 
"um zur vorherigen Seite zurückzukehren.";

// Andere Möglichkeit
echo 'Bitte ' . ($siezen 'klicken Sie ' 'klicke ') . 'hier, um zur vorherigen Seite zurückzukehren';

//// Zweites Beispiel

$antwort1 42;
$antwort2 1337;

// Normale Form

if ($antwort1 == 42 && $antwort2 == 1337) {
    
$allesrichtig true;
} else {
    
$allesrichtig false;
}

// Verkürzte Form

if ($antwort1 == 42 && $antwort2 == 1337$allesrichtig true; else $allesrichtig false;

// Trinitäts-Operator

$allesrichtig = ($antwort1 == 42 && $antwort2 == 1337) ? true false;

//// Drittes Beispiel (funktioniert erst ab PHP 5.3, in vorherigen Versionen
//// gibt es hier einen Parse Error in Zeile 51!)

$id = @$_GET['id'] ?: 0;


//// Viertes Beispiel, so sollte man den Trinitäts-Operator NICHT verwenden.

$antwort3 4;
$antwort4 5;

$allesrichtig = ($antwort1 == 42 && $antwort2 == 1337) ? (($antwort3 $antwort4) ?
                ((
=== 0) ? true false) : false) : false;

// Ist möglich, aber unübersichtlich. ;-)

//// Fünftes Beispiel

$allesrichtig ? print("Alle Fragen wurden richtig beantwortet, super!") AND
                die(
"Das Quiz ist zu Ende.") : die("Leider falsch!");


?>