Σε αυτό το μάθημα, θα συζητήσουμε τις ακόλουθες μεθόδους που χρησιμοποιούνται για να κάνουμε τους μεγάλους κωδικούς if-else συντομότερους και πιο ευανάγνωστους. PHP Trinary OperatorΘα μάθετε τι είναι και πώς να το χρησιμοποιείτε με παραδείγματα.

PHP Trinary Operator είναι ένας τελεστής υπό όρους που μειώνει το μήκος του κώδικα κατά την εκτέλεση συγκρίσεων και συνθηκών. Αυτός ο τελεστής είναι μια σημαντική εναλλακτική λύση για τη χρήση του if-elseif-else ή του ένθετου εάν αλλιώς. Ονομάζεται τριαδικός τελεστής γιατί παίρνει τρεις τελεστές.

  • PHP Trinary OperatorΟι τελεστές που χρειάζεται είναι οι εξής:
    κατάσταση
  • αποτέλεσμα για true (επιστρέφει true αν η συνθήκη είναι αληθής)
  • αποτέλεσμα για ψευδή

PHP Trinary Operator Η σύνταξη έχει ως εξής:

$variable = (condition) ? (statement1) : (statement2);

Η συνθήκη προστίθεται αντί της συνθήκης. Εάν η συνθήκη για την εντολή 1 επιστρέψει αληθής, γράφονται τα δεδομένα που θα προστεθούν. Εάν η συνθήκη για τη δήλωση 2 επιστρέψει false, γράφονται τα δεδομένα που θα προστεθούν.

PHP Trinary Operator

Στο πρώτο μας παράδειγμα PHP Trinary Operator'Θα είμαστε μάρτυρες πόσο συντομεύει τη δήλωση εάν-άλλο. Εάν είναι αληθές, θέλουμε να κάνουμε το όνομα του κουμπιού "Αποσύνδεση" επειδή ο χρήστης είναι συνδεδεμένος και εάν ο χρήστης δεν είναι συνδεδεμένος, θέλουμε να κάνουμε το όνομα του κουμπιού "Σύνδεση" έτσι ώστε ο χρήστης να μπορεί να συνδεθεί. Ας υποθέσουμε ότι στη μεταβλητή is_user_logged_in δίνεται η τιμή true εάν ο χρήστης είναι συνδεδεμένος, και false εάν η συνθήκη είναι συνδεδεμένος, εάν ο χρήστης είναι συνδεδεμένος. Η μεταβλητή is_user_logged_in είναι αληθής ή όχι. Εφόσον η μεταβλητή δεν ήταν ture, οι κωδικοί στην πρώτη συνθήκη δεν εκτελέστηκαν και μεταβιβάστηκαν στο μπλοκ else. Όπως γνωρίζετε, οι κωδικοί στο μπλοκ else εκτελούνται εάν όλες οι άλλες συνθήκες δεν είναι έγκυρες. Σε αυτήν την περίπτωση, εκτελέστηκαν οι κωδικοί στο μπλοκ else και δόθηκε η έξοδος "Είσοδος".

// if else ile uzun ifade
$is_user_logged_in = false;
if ($is_user_logged_in === true) {
	echo $button_name = 'Çıkış Yap';
} else {
	echo $button_name = 'Giriş Yap';
}
// Çıktı: Giriş Yap
// ternary operator ile kısa ifade
$is_user_logged_in = false;
echo $button_name = $is_user_logged_in ? 'Çıkış Yap' : 'Giriş Yap';
// Çıktı: Giriş Yap

Με σχηματισμό ηχούς PHP PHP Trinary OperatorΜπορούμε να χρησιμοποιήσουμε. Ας το δούμε αυτό με 2 παραδείγματα.

$number = 20;
echo ($number > 15) ? "15'ten daha büyük" : "15'ten daha büyük değil";
// Çıktı: number değişkeninin verisi 15'ten daha büyük
$number = 5;
echo ($number == 10) ? "number değişkeninin verisi 10'a eşit" : "number değişkeninin verisi 10'a eşit değil";
// Çıktı: number değişkeninin verisi 10'a eşit değil

PHP Trinary Operator Chaining (Chaining Trinary Operators)

Σε αυτό το παράδειγμα PHP Trinary Operator Υπάρχει ένας νέος τριαδικός τελεστής σε αυτό. Γι' αυτό αυτή η έκφραση PHP Trinary Operator Το ονομάζουμε αλυσίδα τριαδικών τελεστών.  Τώρα ας καταλάβουμε αυτό το παράδειγμα: Ας υποθέσουμε ότι η μεταβλητή $is_logged_in έχει την τιμή true εάν ο χρήστης είναι συνδεδεμένος, και false διαφορετικά. Η μεταβλητή $balance είναι το υπόλοιπο του χρήστη, η μεταβλητή $price είναι η τιμή του προϊόντος. Η μεταβλητή $message είναι το μήνυμα που θα δείξουμε στον χρήστη. Εάν η μεταβλητή is_logged_in στη μεταβλητή $message είναι αληθής, η συνθήκη θα συνεχίσει να εκτελείται. Εάν είναι ψευδές, τα δεδομένα "Συνδεθείτε πρώτα στον λογαριασμό σας για να αγοράσετε το προϊόν" θα αντιστοιχιστούν στη μεταβλητή $message. Η συνθήκη συνέχισε να εκτελείται επειδή η μεταβλητή $is_logged_in ήταν αληθής. Ως συνθήκη στον δεύτερο τριαδικό τελεστή, ρωτήσαμε εάν τα δεδομένα της μεταβλητής $balance είναι ισοδύναμα με τα δεδομένα της μεταβλητής $price. Τα δεδομένα της μεταβλητής $balance είναι 24, τα δεδομένα της μεταβλητής $price είναι 30. Επειδή δεν είναι ισοδύναμα, η συνθήκη δεν επέστρεψε true, επέστρεψε false. PHP Trinary OperatorΤα πρώτα δεδομένα του εκχωρήθηκαν μόνο εάν η συνθήκη επέστρεψε true, τα δεύτερα δεδομένα εκχωρήθηκαν εάν η συνθήκη επέστρεψε false. Η συνθήκη επέστρεψε false και στη μεταβλητή $message εκχωρήθηκαν τα δεδομένα "Δεν έχετε επαρκή χρήματα για να αγοράσετε το προϊόν." Εκτυπώσαμε τη μεταβλητή $message με echo.

$is_logged_in = true; // kullanıcı giriş yaptı mı?   
$balance = 24; // bakiye
$price = 30; // ürün fiyatı
$message = $is_logged_in
			? ($balance === $price
					? 'Ürünü satın almak için yeterli bakiyeniz var'
					: 'Ürünü satın almak için yeterli bakiyeniz yok')
			: 'Ürünü satın almak için önce hesabınıza giriş yapın';
echo $message;
// Ürünü satın almak için yeterli bakiyeniz yok