A lógica complexa é possível em PHP? Operações em PHP

A lição cobrirá instruções php condicionais: a instrução if e a instrução switch

As instruções condicionais do PHP são representadas por três construções principais:

  • operador de condição se,
  • operador de comutação trocar
  • E operador ternário.

Vamos dar uma olhada em cada um deles.

Instrução if PHP

Figura 3.1. Instrução IF condicional, versão curta


Arroz. 3.2. Sintaxe de instrução condicional IF ELSE


Arroz. 3.3. Sintaxe completa da instrução condicional IF elseif

Vamos resumir:

Sintaxe completa:

if (condição) ( // se a condição for verdadeira operador1; operador2; ) elseif(condição) ( operador1; ... ) else ( // se a condição for falsa operador1; operador2; )

  • A sintaxe abreviada pode não contém partes da cláusula else e não contém uma condição elseif adicional
  • Em vez da palavra de função elseif, você pode escrever else if (separadamente)
  • Pode haver vários elseifs em uma construção if. A primeira expressão elseif igual a TRUE será executada.
  • Se houver uma condição elseif alternativa, a cláusula else deverá vir por último na sintaxe.

Uma instrução condicional pode usar dois pontos: em vez de chaves. Neste caso, a declaração termina com a palavra auxiliar endif

Arroz. 3.4. Declaração condicional If e Endif em php

Exemplo:

if($x > $y): echo $x." é maior que ".$y; elseif($x == $y): // ao usar ":" você não pode escrever separadamente else if echo $x." equals ".$y; senão: echo $x." not > e not = ".$y; fim se;

Importante: Ao usar dois pontos em vez de chaves em uma construção, elseif não pode ser escrito em duas palavras!

Operações lógicas em uma condição

A condição if entre parênteses pode conter as seguintes operações:

Exemplo: verificar o valor de uma variável numérica: se for menor ou igual a 10, exibir uma mensagem "um número menor ou igual a 10", caso contrário, exibirá uma mensagem "um número maior que 10"


Solução:

$número=15; se ($número<=10) { echo "число меньше или равно 10"; } else { echo "число больше 10"; }

Blocos de código PHP podem ser quebrados, vejamos um exemplo:

Exemplo: Exibir código HTML na tela "a é igual a 4", se a variável $a for realmente igual a 4


1 solução:
1 2 3 4

2 Solução:

1 2 3 A é igual a 4

A é igual a 4

trabalho php 3_1: Exiba a tradução das cores do inglês para o russo, verificando o valor da variável (na qual a cor é atribuída: $a="blue")


tarefa php 3_2: Encontre o máximo de três números

Operações de comparação e a regra da mentira

A construção if entre parênteses deve conter uma expressão ou variável lógica, que é considerada do ponto de vista da álgebra da lógica, retornando os valores verdadeiros ou falsos

Aqueles. uma única variável pode atuar como uma condição. Vejamos um exemplo:

1 2 3 4 $a = 1; if ($a) ( echo $a; )

$a=1; if ($a) ( echo $a; )

No exemplo, o tradutor da linguagem PHP considerará a variável entre colchetes uma regra mentirosa:

Regra da MENTIRA ou o que é considerado falso:

  • lógico Falso
  • zero inteiro ( 0 )
  • zero real ( 0.0 )
  • linha vazia e corda «0»
  • matriz sem elementos
  • objeto sem variáveis
  • tipo especial NULO

Assim, no exemplo considerado, a variável $a é igual a um, portanto a condição será verdadeira e o operador echo $a; exibirá o valor da variável.

trabalho php 3_3: uma variável a com um valor de string é fornecida. Se a for igual ao nome, imprima "Olá, nome!", se a for igual a um valor vazio, então produza "Olá estranho!"

Construções lógicas AND OR e NOT no operador condicional

  1. Às vezes é necessário prever o cumprimento de várias condições simultaneamente. Então as condições são combinadas operador lógico E — && :
  2. $a=1; if ($a>0 || $a>1) ( echo "a > 0 ou a > 1"; )

  3. Para indicar se uma condição é falsa, use operador lógico NÃO — ! :
  4. 1 2 3 4 $a = 1; se (! ($a< 0 ) ) { echo "a не < 0" ; }

    $a=1; se (!($a<0)) { echo "a не < 0"; }

Alternar operador PHP

O operador switch ou “switch” substitui várias construções if consecutivas. Ao fazer isso, ele compara uma variável com vários valores. Portanto, este é o meio mais conveniente para organizar multi-ramificações.

Sintaxe:

1 2 3 4 5 6 7 8 9 10 switch ($variável) ( case "valor1" : operador1 ; break ; case "valor2" : operador2 ; break ; case "valor3" : operador3 ; break ; [ padrão : operador4 ; break ; ] )

switch($variável)( case "valor1": operador1; break; case "valor2": operador2; break; case "valor3": operador3; break; )

  • O operador pode verificar valores de string (então eles são especificados entre aspas) e valores numéricos (sem aspas).
  • A instrução break na construção é obrigatória. Ele sai da construção se a condição for verdadeira e o operador correspondente à condição for executado. Sem interrupção, todas as instruções case serão executadas independentemente de sua veracidade.

Arroz. 3.5. Instrução de mudança condicional


Exemplo:é fornecida uma matriz com nomes masculinos completos. Verifique o primeiro elemento do array e, dependendo do nome, exiba uma saudação com um nome abreviado.


Solução:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $nomes = array("Ivan" , "Peter" , "Semyon" ) ; switch ($names [ 0 ] ) ( case "Peter" : echo "Olá, Petya!" ; break ; case "Ivan" : echo "Olá, Vanya!" ; break ; case "Semyon" : echo "Oi, Vanya! " ; break ; default : echo "Olá, $nomes!"; quebrar ; )

$nomes=array("Ivan","Peter","Semyon"); switch($nomes)( case "Peter": echo "Olá, Petya!"; break; case "Ivan": echo "Olá, Vanya!"; break; case "Semyon": echo "Olá, Vanya!"; break ; padrão: echo "Olá, $nomes!"; break; )

tarefa php 3_4:

  • Crie uma variável $day e atribua a ela um valor numérico arbitrário
  • Usando a construção switch, imprima a frase "É um dia de trabalho", se o valor da variável $day estiver no intervalo de números de 1 a 5 (inclusive)
  • Imprima a frase "É um dia de folga", se o valor da variável $day for igual aos números 6 ou 7
  • Imprima a frase "Dia Desconhecido", se o valor da variável $day não estiver no intervalo de números de 1 a 7 (inclusive)

Complete o código:

1 2 3 4 5 6 7 8 9 10 11 12 ... switch (...) (caso 1: caso 2: ... eco "É um dia de trabalho"; quebrar ; caso 6: ... padrão: ...)

Switch(...)( case 1: case 2: ... echo "É um dia útil"; break; case 6: ... default: ... )

Operador ternário PHP

Operador ternário, ou seja com três operandos, tem uma sintaxe bastante simples à esquerda do ? a condição é escrita, e à direita estão dois operadores separados pelo sinal: , à esquerda do sinal o operador é executado se a condição for verdadeira, e à direita do sinal: o operador é executado se a condição for falso.

doença? operador1: operador2;

Olá queridos programadores novatos. Vamos continuar estudando os elementos que o compõem.

Neste artigo, aprenderemos o que são operadores php. Na verdade, conhecemos alguns deles quase desde a infância, mas só os conhecemos como sinais (+, -, =, !, ?).

No php, todos são chamados de operadores, o que é bastante lógico, pois realizam uma ação ou operação específica.

Você poderia até dizer que todos os caracteres imprimíveis que não são uma letra ou um número são operadores em PHP. Mas não é tudo, pois existem operadores constituídos por letras.

Vamos começar em ordem.

Operadores aritméticos

Operadores aritméticos são usados ​​para realizar operações com números.

+ é o operador de adição;
— — operador de subtração;
/ - operador de divisão;
* — operador de multiplicação;
% é o operador para obter o restante durante a divisão;
++ — operador para aumentar em um (incremento);
— — — diminuir em um operador (decremento)

Ao escrever, geralmente é colocado um espaço antes e depois do operador. Isso é feito apenas para facilitar a leitura do código, embora esse espaço não afete nada, e você pode ficar sem ele se desejar.

As expressões complexas são compostas de acordo com as regras aceitas em aritmética, ou seja, a multiplicação e a divisão têm prioridade sobre a adição e a subtração, e quando ambas estão presentes na expressão, estas últimas são colocadas entre parênteses.

eco (6 + 7 ) * (7 + 8 ); // 195
?>

Ao realizar a ação de dividir um número inteiro por outro inteiro, no caso de obter resto, o resultado é automaticamente convertido para um número real (número de ponto flutuante).

eco 8/3; //2.66666666666
?>

O número de dígitos impressos para um número fracionário depende do valor definido na diretiva de precisão encontrada no arquivo php.ini. Normalmente são 12 caracteres sem contar o ponto final.

O operador % é comumente usado para determinar se um número é divisível por outro sem resto ou não.

eco 53328% 4 ; //0
?>

As operações com operadores aritméticos, com exceção de incremento e decremento, são chamadas binário, pois envolvem dois operandos (termo + termo, dividendo/divisor, etc.)

As ações de incremento e decremento são chamadas unário, uma vez que envolvem um operando. Existe mais algum operação condicional, que envolve três operandos.

Os operadores de incremento (++) e decremento (- -) aplicam-se apenas a variáveis.

Tipo de variável inteiro (números inteiros)

$próximo = 3;
eco +$próximo; //4
?>

Sequência de tipo de variável

$próximo = "abc";
echo $próximo; //abd
?>

A letra “d” é impressa em vez da letra “c” porque é a próxima no alfabeto e aumentamos o valor da variável em um.

Os exemplos mostram ações com incremento, e da mesma forma você pode realizar ações com decremento.

Operadores bit a bit

Os operadores bit a bit são projetados para trabalhar com dados binários. Se alguém não tiver ideia do que seja, eu explico. Números binários são números como 1001000011100000111000.

Como esses dados quase nunca são usados ​​no desenvolvimento de sites, não iremos nos alongar sobre eles. Vou apenas mostrar como eles são, para que, ao encontrar tais símbolos, você possa imaginar com o que está lidando.

& - conexão bit a bit AND (e);
~ — negação bit a bit (não);
| — união bit a bit OR (ou);
^ — eliminação bit a bit OR (xor);
<< — сдвиг влево битового значения операнда;
>> — desloca para a direita o valor do bit do operando;

É bem provável que você encontre esses operadores, já que dados binários são amplamente utilizados no desenvolvimento de programas de computação gráfica. Mas para estudá-los, se alguém precisar, terá que fazer um curso separado sobre outro recurso.

Operadores de comparação

Operadores de comparação são operadores lógicos e são usados ​​para comparar variáveis. Matrizes e objetos não podem ser comparados usando-os.

> - operador maior que;
=> - operador maior ou igual;
< — оператор меньше;
<= — оператор меньше или равно;
== — operador de igualdade;
!= — operador de desigualdade;
=== — operador de equivalência (o valor e o tipo da variável são iguais);
!== — operador de não equivalência;

Como resultado da comparação, um deles é exibido na tela, o que corresponde a verdadeiro (verdadeiro), ou uma string vazia, que corresponde a falso (falso).

eco 1 > 0 ; //1
eco 1< 0 ; // пустая строка
eco 1 => 0; //1
eco 1 == 1; //1
?>

Assim, por si só, os operadores de comparação quase nunca são usados. Seu principal objetivo é trabalhar em conjunto com a instrução if.

Declarações condicionais if, else, elseif.

Os operadores condicionais são assim chamados porque são projetados para testar uma determinada condição, dependendo de qual ação específica é executada.

A instrução if usa uma variável booleana, ou expressão, como argumento. Se a condição for verdadeira, o resultado será exibido; caso contrário, uma linha vazia será exibida.



se ($próximo< $nexT)
{
echo "Possibilidade de precipitação"; // Precipitação de saída possível
}
?>

$next = "Umidade do ar 80%";
$nexT = "Umidade do ar 90%";
if ($próximo > $próximoT)
{
echo "Possibilidade de precipitação"; //Imprime uma linha vazia
}
?>

Se o programa precisar especificar duas ações, uma das quais será executada se o valor for verdadeiro e a outra se o valor for falso, então, junto com a instrução if, a instrução else será usada

$next = "Umidade do ar 80%";
$nexT = "Umidade do ar 90%";
if ($próximo > $próximoT)
{
echo "Possibilidade de precipitação";
}
outro
{
echo "Nenhuma precipitação esperada";
}
?>

Neste caso será exibido “Precipitação não esperada”, e se na expressão você alterar o sinal “Mais” para “Menos”, então será exibido “Precipitação é possível”. É assim que os operadores condicionais verificam uma condição e geram o resultado correto de acordo com ela.

Muitas vezes é necessário definir mais de duas condições e, então, para verificá-las sequencialmente, utiliza-se o operador elseif.



if ($próximo > $próximoT)
{
echo "entendo";
}
elseif ($próximo<= $nexT)
{
eco "Neve";
}
elseif ($próximo >= $próximoT)
{
eco "Chuva";
}
elseif ($próximo == $próximoT)
{
echo "Seca";
}
outro
{
echo "Possibilidade de precipitação";
}
?>

Este programa produzirá "Neve". Se nenhuma das condições correspondesse, seria exibida “Chance of Precipitation”.

Uma instrução if pode conter quantos blocos elseif desejar, mas apenas uma instrução else.

Uma opção de gravação alternativa é permitida - sem chaves. Nesse caso, as linhas das instruções if, else, elseif terminam com dois pontos e toda a construção termina com a palavra-chave (operador) endif.

$next = "Umidade do ar 50%";
$nexT = "Umidade do ar 60%";
se ($próximo<= $nexT):

eco "Neve";

elseif ($próximo >= $próximo):

eco "Chuva";

elseif ($próximo == $próximo):

echo "Seca";

outro:

echo "Possibilidade de precipitação";
fim se ;
?>

Operadores lógicos

Os operadores lógicos são semelhantes aos operadores bit a bit. A diferença entre eles é que os primeiros operam com variáveis ​​lógicas e os segundos com números.

Os operadores lógicos são usados ​​​​nos casos em que é necessário combinar várias condições, o que reduzirá o número de instruções if, o que por sua vez reduzirá a probabilidade de erros no código.

&& - conjunção de conexão AND;
e - também AND, mas com menor prioridade;
|| - separando a conjunção OU;
ou - também OR, mas com menor prioridade;
xor - OR exclusivo;
! - negação;

Prioridade mais baixa significa que se ambos os operadores estiverem presentes, aquele com prioridade mais alta será executado primeiro.

No futuro, usando exemplos de scripts mais complexos, nos deteremos em operadores lógicos com mais detalhes.

Operador de atribuição

O operador de atribuição = atribui o valor do operando direito ao operando esquerdo.

$próximo = "Olá"
eco "Olá" // Olá
?>

Ponto do operador

O operador ponto separa a parte inteira de um número da parte fracionária e combina várias strings e um número em uma string inteira.

$próximo = 22;
echo "Hoje depois" .$next. “espera-se geada”; // Hoje depois das 22 está prevista geada
?>

Operador parênteses

Como na matemática, o operador parênteses dá prioridade à ação contida neles.

Os dados entre parênteses são executados primeiro e depois todo o resto.

Operador de chaves

Existem três maneiras, ou mesmo estilos, de colocar chaves em PHP.

1. Estilo BSD - os colchetes estão alinhados à esquerda.

se ($próximo)
{

}

2. Estilo GNU - os colchetes são alinhados recuados a partir da borda esquerda

se ($próximo)
{
echo “Olá, queridos programadores iniciantes”;
}

3. Estilo K&R - parênteses abrem na linha do operador

se ($próximo)(
echo “Olá, queridos programadores iniciantes”;
}

Desde o início você precisa escolher um dos estilos e futuramente, ao escrever roteiros, utilizar apenas ele. Além disso, não importa qual estilo você prefere. É importante que seja uniforme durante todo o programa.

Acho que isso é o suficiente por enquanto. Em princípio, não apenas sinais, mas também funções e outros elementos podem ser operadores, por isso é muito difícil listá-los todos e não adianta.

Basta ter uma ideia do básico. E analisaremos o resto com exemplos práticos.

Um irlandês vagueia pelo aeroporto Sheremetyevo em lágrimas. Um dos funcionários decidiu se solidarizar:
— Você sente falta da sua terra natal?
- De jeito nenhum. Acabei de perder toda a minha bagagem
- Como isso pôde acontecer?
- Eu não me entendo. Parece que conectei o plugue corretamente

Então, já sabemos como executar código que atenda a uma determinada condição. Mas até este momento só poderia haver uma condição. E se o código precisar ser executado se várias condições forem atendidas ao mesmo tempo?

Para resolver este problema, existem operadores lógicos:

= 5 && $ preço<= 10) echo "Это число находится между 5 и 10"; ?>

O operador &&, também chamado lógico E, converte os valores à esquerda e à direita em um tipo booleano e, em seguida, retorna um valor booleano: verdadeiro se a esquerda e a direita forem verdadeiras ou falso se uma das condições for falsa.

Em outras palavras, se ambas as condições forem verdadeiras, o operador && retornará verdadeiro. É isso que o nome da operadora reflete.

Operador || ou OU lógico retorna verdadeiro quando pelo menos uma das duas condições é verdadeira:

5 || 1 > 2) echo "A condição foi atendida."; ?>

No código acima, o comando echo será executado porque uma das condições é verdadeira.

Todos os operadores lógicos em PHP

Entre os operadores && e e, bem como entre || e ou há uma pequena diferença - a ordem de execução.

Como você sabe, a multiplicação tem maior prioridade do que a adição. Portanto, os operadores e e ou têm prioridade mais baixa do que o operador de atribuição =. O resultado pode ser visto no exemplo a seguir:

Estranho, certo? Como y = tem prioridade mais alta, o PHP interpretará o código assim:

($var = verdadeiro) e falso;

Aqueles. primeiro ele define $var como verdadeiro e depois faz uma operação verdadeira e falsa, o que não tem sentido porque não afeta o valor da variável.

Abaixo está uma tabela com as prioridades do operador. Você já conheceu alguns deles. Quanto mais alto o operador estiver na tabela, maior será sua prioridade.

  • ++ -- ~ (int) (float) (string) (array) (objeto) (bool) @
  • * / %
  • + - .
  • < <= > >=
  • == != === !== <> <=>
  • ? : (operador ternário)
  • = += -= *= **= /= .= %= &= |= ^= <<= >>=

Agora podemos determinar que a precedência dos operadores de comparação (==,! =, etc.) é maior do que a dos operadores lógicos. Esta informação será útil para completarmos a tarefa.


O principal na ação deste operador é a condição. se traduzido do inglês significa Se. A condição é aceita como argumento (o que está entre parênteses). A condição pode ser uma expressão lógica ou uma variável lógica. Simplificando, o significado da expressão será este:

Se (condição)(
a condição for atendida, faça isso
}
outro
{
a condição não for atendida, faça diferente
}
Espero que a lógica da operação condicional esteja clara. Agora vamos ver um exemplo.

$a = 5;
$b = 25;

//Agora atenção! Condição: Se $b for maior que $a
// Sinais > e< , как и в математике, обозначают больше и меньше
se($b > $a)
{
// se a condição for atendida, execute esta ação
echo "$b é maior que $a";
}
outro
{
// se não for executado, então este
echo "$a é maior ou igual a $b";
}
?>
Demonstração Baixar fontes
Como resultado, o script produzirá 25 mais que 5. O exemplo é bastante simples. Espero que tudo esteja claro. Proponho agora considerar uma situação mais complicada, onde várias condições devem ser satisfeitas. Cada nova condição conterá após a condição principal se()- auxiliar, que é escrito como senão se(). No final será como sempre outro.

Tarefa: Os testes são realizados na escola. O roteiro precisa calcular a nota, conhecendo as condições de obtenção de cada nota e a própria nota do aluno. Vamos ver como escrever isso e não esqueça de ler o comentário.

$teste = 82; // digamos que um aluno fez um teste com 82 pontos

// escreve a primeira condição para cinco
if($teste > 90)
{
// se a condição for atendida, execute esta ação.
echo "Classificação 5";
}
// O sinal && significa "e, união", que a condição é atendida se ambos forem verdadeiros
// ou seja, a pontuação é menor que 91 e maior que 80, então 4. Caso contrário, as condições são lidas mais adiante
senão if ($teste< 91 && $test > 80)
{
echo "Classificação 4";
}
senão if ($teste< 81 && $test > 70)
{
echo "Classificação 3";
}
outro
{
echo "Devíamos escrever o teste novamente...";
}
?>
Demonstração Baixar fontes
Nosso aluno que tem tempo para descansar e fazer uma prova normal recebe classificação 4! Espero que o princípio de funcionamento esteja claro.

Também é possível registrar brevemente o funcionamento de uma operação condicional, quando for necessária uma ação somente se a condição for atendida.

$idade = 19; //variável com idade

Se ($idade > 17)(
echo "É isso! Posso fazer o que quiser! Já tenho $idade!";
}
Um bom exemplo de uma breve notação de uma operação condicional. outro não é necessário escrever.

Operadores de comparação em PHP

O princípio de funcionamento de uma operação condicional é claro. Mas, como você entende, existem muitas outras maneiras de comparar. Vejamos a tabela abaixo com operadores de comparação.

Resultado de nome de exemplo
$a == $b É igual a Verdadeiro se $a for igual a $b
$a === $b Idêntico a True se $a for igual a $b e ambas as variáveis ​​forem do mesmo tipo
$a != $b Diferente de True se $a não for igual a $b
$a === $b Não é idêntico a True se $a não for igual a $b e ambos os tipos não forem iguais
$a > $b Maior que Verdadeiro se $a for maior que $b
$a< $b Меньше чем True, если $a меньше, чем $b
$a >= $b Maior ou igual a True se $a for maior ou igual a $b
$a<= $b Меньше или равно True, если $a меньше или равно $b
Agora vamos dar uma olhada nos operadores com exemplos:

// ao contrário do hábito = significa atribuir um valor a uma variável, e == é igual
se ($a == 5)(
echo "$a é 5"; // irá imprimir "5 é igual a 5"
) outro (
echo "$a não é igual a 5";
}

Se ($a != 6)(
echo "$a não é igual a 6"; // imprimirá "5 não é igual a 6". Necessário em caso de negação
) outro (
echo "$a de alguma forma é igual a 6";
}

// com mais e menos acho que está tudo claro. Portanto o exemplo é mais complicado
se ($a<= 6){
echo "$a é menor ou igual a 6"; // irá imprimir "5 é menor ou igual a 6"
) outro (
echo "$a é maior que 6";
}

Operadores Lógicos PHP

Há momentos em que você precisa comparar não uma variável, mas duas ou mais ao mesmo tempo em uma condição. Para isso existem Operadores lógicos.

Resultado de nome de exemplo
$a e $b Lógico "e" TRUE se $a e $b forem TRUE.
$a ou $b Lógico "ou" TRUE se $a ou $b for TRUE.
$a xor $b Exclusivo "ou" TRUE se $a ou $b for TRUE, mas não ambos.
! $a Negação de TRUE se $a não for TRUE.
$a && $b Lógico "e" TRUE se $a e $b forem TRUE.
$a || $b Booleano "ou" TRUE se $a ou $b for TRUE.
Já notamos que para operações E E ou existem operadores adicionais? Isso é feito para priorizar operações de comparação complexas. Na tabela, os operadores lógicos são listados em ordem de prioridade: do menor para o maior, ou seja, por exemplo, || tem prioridade mais alta que ou.

Vamos continuar para exemplos

$a = 5;
$b = 6;
$c = 7;

// condição: Se 5 não for igual a 6 (VERDADEIRO) E 6 não for igual a 7 (VERDADEIRO)
se ($a< 6 && $b != $c){
echo "De fato!"; // imprimirá "De fato!" porque AMBAS as condições são VERDADEIRAS
) outro (
echo "Uma das condições não é verdadeira";
}

// condição: Se 6 não for igual a 6 (FALSO) OU 6 não for igual a 7 (VERDADEIRO)
se ($b != 6 || $b != $c)(
echo "É isso!"; // exibirá "É isso aí!", porque pelo menos UMA das condições é VERDADEIRA
) outro (
echo "Ambas as condições são falsas";
}

Operador ternário

Sugiro que você retorne à questão do código ternário mais tarde. Não pude deixar de mencioná-lo, pois é um design importante que reduz significativamente o tamanho do código. Eu sugiro que você dê uma olhada no código imediatamente.

A essência do código:(doença) ? o valor de a se verdadeiro: o valor de a se falso

Assim, encurtamos a instrução if. Porém, esta operação só é válida ao atribuir valores a uma variável. Agora vamos ver um exemplo finalizado.

// Exemplo de uso do operador ternário
$configurações = (vazio($_POST["configurações"])) ? "Padrão": $_POST["configurações"];

// O código acima é semelhante ao bloco a seguir usando if/else
if (vazio($_POST["configurações"])) (
$configurações = "Padrão"; // Se nada for transferido, deixe como "Padrão"
) outro (
$configurações = $_POST["configurações"]; // Se aprovado, $settings receberá o valor passado.
}
?>
Leia os comentários do código e tudo ficará claro.

Obrigado pela sua atenção!


Última atualização: 01/11/2015

Em PHP podemos usar vários operadores: aritméticos, lógicos, etc. Vejamos cada tipo de operação.

Operaçoes aritimeticas

    + (operação de adição)

    Por exemplo, $a + 5

    - (operação de subtração)

    Por exemplo, $a - 5

    * (multiplicação)

    Por exemplo, $a * 5

    / (divisão)

    Por exemplo, $a / 5

    % (obtendo o restante da divisão)

    Por exemplo: $a=12; echo $a% 5; //é igual a 2

    ++ (incrementar/aumentar o valor em um)

    Por exemplo, ++$a

    É importante entender a diferença entre as expressões ++$a e $a++ . Por exemplo:

    $a=12; $b=++$a; // $b é igual a 13 echo $b;

    Aqui, primeiro, um é adicionado ao valor da variável $a, e então seu valor é igualado ao da variável $b. Seria diferente se a expressão fosse assim: $b=$a++; . Aqui, primeiro o valor da variável $a foi igual ao da variável $b, e depois o valor da variável $a foi aumentado.

    -- (diminuir/diminuir o valor em um)

    Por exemplo, --$a . E também, como no caso do incremento, existem dois tipos de gravação: --$a e $a--

Operadores de Atribuição

    Iguala uma variável a um valor específico: $a = 5

    Adição seguida de atribuição do resultado. Por exemplo: $a=12; $a += 5; eco $a; //igual a 17

    Subtração seguida de atribuição do resultado. Por exemplo: $a=12; $a -= 5; eco $a; //é igual a 7

    Multiplicação seguida de atribuição do resultado: $a=12; $a *= 5; eco $a; //é igual a 60

    Divisão seguida de atribuição do resultado: $a=12; $a /= 5; eco $a; //igual a 2,4

    Concatene linhas e atribua o resultado. Aplica-se a duas linhas. Se as variáveis ​​não armazenam strings, mas, por exemplo, números, então seus valores são convertidos em strings e então é realizada a operação: $a=12; $a.= 5; eco $a; // igual a 125 // idêntico a $b="12"; $b.="5"; //igual a 125

    Obtendo o resto da divisão e depois atribuindo o resultado: $a=12; $a %= 5; eco $a; //é igual a 2

Operações de comparação

As operações de comparação são geralmente utilizadas em construções condicionais quando é necessário comparar dois valores e, dependendo do resultado da comparação, realizar determinadas ações. As seguintes operações de comparação estão disponíveis.

    O operador de igualdade compara dois valores e, se forem iguais, retorna verdadeiro, caso contrário retorna falso: $a == 5

    O operador identidade também compara dois valores e, se forem iguais, retorna verdadeiro, caso contrário retorna falso: $a === 5

    Compara dois valores e, se não forem iguais, retorna verdadeiro, caso contrário retorna falso: $a != 5

    Compara dois valores e, se não forem iguais, retorna verdadeiro, caso contrário retorna falso: $a !== 5

    Compara dois valores e, se o primeiro for maior que o segundo, retorna verdadeiro, caso contrário retorna falso: $a > 5

    Compara dois valores e, se o primeiro for menor que o segundo, retorna verdadeiro, caso contrário retorna falso: $a< 5

    Compara dois valores e, se o primeiro for maior ou igual ao segundo, retorna verdadeiro, caso contrário retorna falso: $a >= 5

    Compara dois valores e, se o primeiro for menor ou igual ao segundo, retorna verdadeiro, caso contrário retorna falso: $a<= 5

Operador de igualdade e identidade

Ambos os operadores comparam duas expressões e retornam verdadeiro se as expressões forem iguais. Mas existem diferenças entre eles. Se a operação de igualdade assumir dois valores de tipos diferentes, eles serão reduzidos a um - aquele que o intérprete considera ideal. Por exemplo:

Obviamente, as variáveis ​​armazenam valores diferentes de tipos diferentes. Mas quando comparados, eles serão reduzidos ao mesmo tipo - numérico. E a variável $a será reduzida ao número 22. E no final, ambas as variáveis ​​serão iguais.

Ou, por exemplo, as seguintes variáveis ​​também serão iguais:

$a = falso; $b = 0;

Para evitar tais situações, utiliza-se a operação de equivalência, que leva em consideração não só o valor, mas também o tipo da variável:

$a = "22a"; $b = 22; if($a===$b) echo "igual"; senão echo "diferente";

Agora as variáveis ​​não serão iguais.

Os operadores de desigualdade != e !== funcionam de forma semelhante.

Operações lógicas

As operações lógicas são normalmente usadas para combinar os resultados de duas operações de comparação. Por exemplo, precisamos realizar uma determinada ação se diversas condições forem verdadeiras. As seguintes operações lógicas estão disponíveis:

    Retorna verdadeiro se ambas as operações de comparação retornarem verdadeiro, caso contrário, retorna falso: $a == 5 && $b = 6

    Semelhante à operação &&: $a == 5 e $b > 6

    Retorna verdadeiro se pelo menos uma operação de comparação retornar verdadeiro, caso contrário retorna falso: $a == 5 || $ b = 6

    Semelhante à operação || : $a< 5 or $b > 6

    Retorna verdadeiro se a operação de comparação retornar falso: !($a >= 5)

    Retorna verdadeiro se apenas um dos valores for verdadeiro. Se ambos forem verdadeiros ou nenhum deles for verdadeiro, retorna falso. Por exemplo: $a=12; $b=6; if($a xor $b) echo "verdadeiro"; senão echo "falso";

    Aqui o resultado da operação lógica será falso, pois ambas as variáveis ​​possuem um valor específico. Vamos mudar o código:

    $a=12; $b=NULO; if($a xor $b) echo "verdadeiro"; senão echo "falso";

    Aqui o resultado já será verdadeiro, pois o valor de uma variável não está definido. Se uma variável tiver o valor NULL, então nas operações lógicas seu valor será tratado como falso

Operações de bits

As operações de bits são executadas em bits individuais de um número. Os números são considerados na representação binária, por exemplo, 2 na representação binária é 010, o número 7 é 111.

    & (multiplicação lógica)

    A multiplicação é realizada bit a bit, e se ambos os operandos tiverem valores de bit iguais a 1, então a operação retorna 1, caso contrário é retornado o número 0. Por exemplo: $a1 = 4; //100 $b1 = 5; //101 eco $a1 & $b1; //é igual a 4

    Aqui o número 4 no sistema binário é 100 e o número 5 é 101. Multiplique os números bit a bit e obtenha (1*1, 0*0, 0 *1) = 100, ou seja, o número 4 em formato decimal.

    | (adição lógica)

    Semelhante à multiplicação lógica, a operação também é realizada em dígitos binários, mas agora um é retornado se pelo menos um número em um determinado dígito tiver um. Por exemplo: $a1 = 4; //100 $b1 = 5; //101 eco $a1 | $b1; //é igual a 5

    ~ (negação lógica)

    inverte todos os bits: se o valor do bit for 1, ele se tornará zero e vice-versa. $b = 5; eco ~$b;

    x<

    x>>y - desloca o número x para a direita em y dígitos. Por exemplo, 16>>1 desloca 16 (que é 10.000 em binário) uma casa para a direita, resultando em 1.000 ou 8 em decimal

Concatenando Strings

O operador ponto é usado para concatenar strings. Por exemplo, vamos conectar várias linhas:

$a="Olá,"; $b="mundo"; eco $a . $b. "!";

Caso as variáveis ​​representem outros tipos além de strings, como números, então seus valores são convertidos em strings e então ocorre também a operação de concatenação de strings.



 

Pode ser útil ler: