En esta lección, analizaremos los siguientes métodos utilizados para hacer que los códigos if-else largos sean más cortos y legibles. Operador ternario PHPAprenderás qué es y cómo utilizarlo con ejemplos.

Operador ternario PHP es un operador condicional que reduce la longitud del código al realizar comparaciones y condiciones. Este operador es una alternativa importante al uso de if-elseif-else o if else anidado. Se llama operador ternario porque requiere tres operandos.

  • Operador ternario PHPLos operandos que toma son los siguientes:
    condición
  • resultado de verdadero (devuelve verdadero si la condición es verdadera)
  • resultado de falso

Operador ternario PHP La sintaxis es la siguiente:

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

Se agrega condición en lugar de condición. Si la condición para la declaración 1 devuelve verdadera, se escriben los datos que se agregarán. Si la condición para la declaración 2 devuelve falso, se escriben los datos que se agregarán.

Operador ternario PHP

En nuestro primer ejemplo Operador ternario PHPSeremos testigos de cuánto acorta la declaración if-else. Si es verdadero, queremos que el nombre del botón sea "Cerrar sesión" porque el usuario ha iniciado sesión, y si el usuario no ha iniciado sesión, queremos que el nombre del botón sea "Iniciar sesión" para que el usuario pueda iniciar sesión. Supongamos que a la variable is_user_logged_in se le da el valor verdadero si el usuario ha iniciado sesión y falso si el usuario no ha iniciado sesión. En la condición if, cuestionamos si la variable is_user_logged_in es verdadera o no. Como la variable no era verdadera, los códigos de la primera condición no se ejecutaron y se pasaron al bloque else. Como sabes, los códigos del bloque else se ejecutan si todas las demás condiciones no son válidas. En este caso, se ejecutaron los códigos del bloque else y se proporcionó el resultado "Iniciar sesión".

// 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

Con formación de eco PHP Operador ternario PHPPodemos usar. Veamos esto con 2 ejemplos.

$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

Encadenamiento de operadores ternarios de PHP (encadenamiento de operadores ternarios)

En este ejemplo Operador ternario PHP Hay un nuevo operador ternario en él. Por eso esta expresión Operador ternario PHP Lo llamamos encadenamiento de operadores ternarios.  Ahora entendamos este ejemplo: supongamos que a la variable $is_logged_in se le da el valor verdadero si el usuario ha iniciado sesión y falso en caso contrario. La variable $saldo es el saldo del usuario, la variable $precio es el precio del producto. La variable $message es el mensaje que mostraremos al usuario. Si la variable is_logged_in en la variable $message es verdadera, la condición continuará ejecutándose; si es falso, se asignará el dato "Inicia sesión primero en tu cuenta para comprar el producto" a la variable $message. La condición continuó ejecutándose porque la variable $is_logged_in era verdadera. Como condición en el segundo operador ternario, preguntamos si los datos de la variable $saldo son equivalentes a los datos de la variable $precio. Los datos de la variable $saldo son 24, los datos de la variable $precio son 30. Como no son equivalentes la condición no devolvió verdadero, devolvió falso. Operador ternario PHPEl primer dato de se asignó solo si la condición devolvió verdadero, el segundo dato se asignó si la condición devolvió falso. La condición devolvió falso y a la variable $message se le asignó el dato "No tienes fondos suficientes para comprar el producto". Imprimimos la variable $message con eco.

$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