English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá como usar as sentenças if ... else ... elseif do PHP para escrever código de tomada de decisão.
Como a maioria das linguagens de programação, o PHP também permite que você escreva código que, durante a execução, executa operações diferentes com base em testes lógicos ou condições de comparação. Isso significa que você pode criar condições de teste na forma de expressões que calculam true ou false, e com base nesses resultados, você pode executar certas operações.
O PHP possui algumas sentenças que podem ser usadas para tomar decisões:
if Sentença
if ... else Sentença
if...elseif..else Sentença
switch...case Sentença
Vamos explorar cada sentença nas próximas partes.
Só quando o valor da condição especificada for trueifA sentença é usada para executar um bloco de código. Esta é a sentença de condição mais simples do PHP, pode ser escrita assim:
if(condition){ //O código a ser executado }
O exemplo a seguir exibirá “Feliz fim de semana!” se hoje for sexta-feira:
<?php $d = date("D"); if($d == "Fri"){ echo "Final de semana feliz!"; } ?>Teste e veja‹/›
Você pode adicionar uma sentença else no comando if para fornecer uma escolha alternativa, assim melhorando o processo de tomada de decisão. Se a condição especificada for True, a sentença if ... else permitirá que você execute um bloco de código, se a condição for False, executará outro bloco de código. Pode ser escrito assim:
if(condition){ //O código a ser executado quando a condição for true } else { //O código a ser executado quando a condição for false }
O exemplo a seguir exibirá “Feliz fim de semana!” se a data atual for sexta-feira, então exibirá “Feliz!”
<?php $d = date("D"); if($d == "Fri"){ echo "Final de semana feliz!"; } else { echo "Boa tarde!"; } ?>Teste e veja‹/›
if ... elseif ... else é uma sentença especial usada para combinar várias sentenças if ... else.
if(condition1{ //se condition1O código a ser executado quando for true } elseif(condition2{ //se condition1se for false e condition2O código a ser executado quando for true } else { //se condition1e condition2O código a ser executado será incorreto }
O exemplo a seguir exibirá “Feliz fim de semana!” se a data atual for sexta-feira, e “Feliz domingo!” se a data atual for domingo, caso contrário, exibirá “Feliz!”
<?php $d = date("D"); if($d == "Fri"){ echo "Final de semana feliz!"; } elseif($d == "Sun"){ echo "Boa tarde de domingo!"; } else { echo "Boa tarde!"; } ?>Teste e veja‹/›
emno próximo capítulo,você vai aprender sobre o PHP switch-informações sobre a instrução case.
O operador ternário oferece uma maneira conveniente de escrever instruções if...else. O operador ternário é representado pelo símbolo de interrogação (?) e tem três operandos: a condição a ser verificada, o resultado se a condição for verdadeira e o resultado se a condição for falsa.
Para entender como esse operador funciona, veja o seguinte exemplo:
<?php $age = 15; if($age < 18{ echo 'children'; //Se a idade for menor que18anos, mostre crianças } else { echo 'adults'; //Se a idade for maior ou igual a18anos, mostre adultos } ?>Teste e veja‹/›
Pode usar o operador ternário para escrever o mesmo código de maneira mais compacta:
<?php $age = 15; echo ($age < 18) ? 'children' : 'adults'; ?>Teste e veja‹/›
No exemplo acima, o operador ternário, se o resultado da avaliação da condição for true (ou seja, $age menor que18),se o resultado da avaliação da condição for false, escolha o valor à direita do dois pontos (ou seja, “adulto”)。
Dica:O código escrito com o operador ternário pode ser difícil de ler. No entanto, ele oferece uma maneira de escrever um if-boa maneira de usar a instrução else.
PHP 7Introduziu um novo operador de coalescência nula (??), que você pode usar como uma forma abreviada, onde é necessário combinar o operador ternário com a função isset().
Para entender melhor isso, veja a seguinte linha de código. Ele obtém o valor de $_GET['name'], se não existir ou for NULL, retorna 'anonymous'.
<?php //Uso do operador ternário(?:) $name = isset($_GET['name']) ? $_GET['name'] : 'anonymous'; echo $name; ?>Teste e veja‹/›
Usando o operador de coalescência nula, o mesmo código pode ser escrito da seguinte forma:
<?php //Uso do operador de coalescência nula (??) $name = $_GET['name'] ?? 'anonymous'; echo $name; ?>Teste e veja‹/›
Como você vê, a gramática a seguir é mais compacta e fácil de escrever.