Nesta lição, discutiremos os seguintes métodos usados para tornar códigos if-else longos mais curtos e mais legíveis. Operador Ternário PHPVocê aprenderá o que é e como usá-lo com exemplos.

Operador Ternário PHP é um operador condicional que reduz o comprimento do código ao realizar comparações e condições. Este operador é uma alternativa importante ao uso de if-elseif-else ou aninhado if else. É chamado de operador ternário porque requer três operandos.

  • Operador Ternário PHPOs operandos necessários são os seguintes:
    condição
  • resultado para verdadeiro (retorna verdadeiro se a condição for verdadeira)
  • resultado para falso

Operador Ternário PHP A sintaxe é a seguinte:

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

A condição é adicionada em vez da condição. Se a condição para instrução1 retornar verdadeira, os dados a serem adicionados serão gravados. Se a condição para instrução2 retornar falso, os dados a serem adicionados serão gravados.

Operador Ternário PHP

Em nosso primeiro exemplo Operador Ternário PHP'Testemunharemos o quanto isso encurta a instrução if-else. Se for verdade, queremos dar o nome do botão "Log Out" porque o usuário está logado, e se o usuário não estiver logado, queremos dar o nome do botão "Log In" para que o usuário possa logar. Vamos supor que a variável is_user_logged_in receba o valor true se o usuário estiver logado, e false se o usuário não estiver logado. Como a variável não era ture, os códigos da primeira condição não foram executados e foram passados ​​para o bloco else. Como você sabe, os códigos do bloco else serão executados se todas as outras condições forem inválidas. Neste caso, os códigos do bloco else foram executados e a saída “Sign In” foi fornecida.

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

Com formação de eco PHP Operador Ternário PHPPodemos usar. Vamos ver isso com 2 exemplos.

$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

Encadeamento de Operadores Ternários PHP (Encadeamento de Operadores Ternários)

Neste exemplo Operador Ternário PHP Há um novo operador ternário nele. É por isso que esta expressão Operador Ternário PHP Chamamos isso de encadeamento de operadores ternários.  Agora vamos entender este exemplo: Vamos supor que a variável $is_logged_in receba o valor true se o usuário estiver logado, e false caso contrário. A variável $balance é o saldo do usuário, a variável $price é o preço do produto. A variável $message é a mensagem que mostraremos ao usuário. Se a variável is_logged_in na variável $message for verdadeira, a condição continuará a ser executada; se for falso, o dado “Faça login primeiro na sua conta para adquirir o produto” será atribuído à variável $message. A condição continuou a ser executada porque a variável $is_logged_in era verdadeira. Como condição no segundo operador ternário, perguntamos se os dados da variável $balance são equivalentes aos dados da variável $price. Os dados da variável $balance são 24, os dados da variável $price são 30. Como não são equivalentes, a condição não retornou verdadeiro, retornou falso. Operador Ternário PHPOs primeiros dados foram atribuídos apenas se a condição retornasse verdadeira, os segundos dados eram atribuídos se a condição retornasse falsa. A condição retornou falso e à variável $message foi atribuído o dado “Você não tem fundos suficientes para comprar o produto”. Imprimimos a variável $message com 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