在本课中,我们将讨论以下用于使长 if-else 代码更短且更具可读性的方法。 PHP 三元运算符您将通过示例了解它是什么以及如何使用它。
PHP 三元运算符 是一个条件运算符,可在执行比较和条件时减少代码长度。该运算符是使用 if-elseif-else 或嵌套 if else 的重要替代方法。它被称为三元运算符,因为它需要三个操作数。
- PHP 三元运算符它所采用的操作数如下:
条件 - 结果为真(如果条件为真则返回真)
- 结果为假
PHP 三元运算符 语法如下:
$variable = (condition) ? (statement1) : (statement2);添加条件而不是条件。如果statement1的条件返回true,则写入要添加的数据。如果statement2的条件返回false,则写入要添加的数据。
PHP 三元运算符
在我们的第一个例子中 PHP 三元运算符'我们将见证它如何缩短了 if-else 语句。如果为 true,我们希望将按钮名称设为“Log Out”,因为用户已登录,如果用户未登录,我们希望将按钮名称设为“Log In”,以便用户可以登录。假设如果用户已登录,则 is_user_logged_in 变量的值为 true;如果用户未登录,则为 false。在 if 条件中,我们询问 is_user_logged_in 变量是否为 true。由于变量不为 true,因此第一个条件中的代码不会被执行,而是被传递到 else 块。如您所知,如果所有其他条件均无效,则执行 else 块中的代码。在本例中,执行了 else 块中的代码并提供了“Sign In”输出。
// 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 echo 形成 PHP 三元运算符我们可以使用 .让我们通过两个例子来看看。
$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ğilPHP 三元运算符链接(Chaining Ternary Operators)
在这个例子中 PHP 三元运算符 其中有一个新的三元运算符。这就是为什么这个表达 PHP 三元运算符 我们称之为链接三元运算符。 现在让我们理解这个示例:假设如果用户已登录,则 $is_logged_in 变量的值为 true,否则为 false。 $balance变量是用户的余额,$price变量是产品的价格。 $message 变量是我们将向用户显示的消息。如果$message变量中的is_logged_in变量为true,则条件将继续运行;如果为 false,则将数据“请先登录您的帐户购买产品”分配给 $message 变量。该条件继续运行,因为 $is_logged_in 变量为 true。作为第二个三元运算符中的条件,我们询问 $balance 变量的数据是否等于 $price 变量的数据。 $balance 变量的数据是 24,$price 变量的数据是 30。由于它们不等价,所以条件没有返回 true,而是返回 false。 PHP 三元运算符仅当条件返回 true 时才分配第一个数据,如果条件返回 false 则分配第二个数据。条件返回 false,并且 $message 变量被分配数据“您没有足够的资金来购买产品”。我们用 echo 打印了 $message 变量。
$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


