Bu operatör çok basit şekilde çalışır.. Ve yapısı şöyledir;
KOŞUL ? DOĞRUYSA : YANLIŞSA
Bunu php’de şöyle bir örnek ile daha iyi anlayabiliriz;
$sayfa = isset($_GET['sayfa']) ? $_GET['sayfa'] : 1;
Burada eğer sayfa adında bir get parametresi var ise onun değerini yok ise 1 değerini $sayfa değişkenine atamış olduk.. Bunu uzun olarak if koşulu ile şöyle yapabilirdik;
if ( isset($_GET['sayfa']) ){ $sayfa = $_GET['sayfa']; } else { $sayfa = 1; }
Ancak gördüğünüz gibi ternary operatör işimizi çok daha kolaylaştırıyor ve işlemi tek satır haline indiriyor.. Ayrıca iç içede kullanımı vardır.. Örnek vermek gerekirse;
$deger = 1; $sonuc = ($deger === 1 ? 'Doğru' : ($deger === 2 ? '1 Yanlış' : ($deger === 3 ? 'Hatalı' : 'Tamamen Hatalı')));
Ancak genelde bu şekilde iç içe kullanımı çok okunaklı olmadığı için tavsiye etmem. Tek satırlı işlemler için ideal bir operatördür ve bilmenizde fayda var.