Antes de começarmos o curso de PHP, devemos prestar muita atenção na acentuação para o HTML
Vejamos:
á | á | Á | Á | ã | ã | Ã | Ã |
â | â | Â | Â | à | à | À | À |
é | é | É | É | ê | ê | Ê | Ê |
í | í | Í | Í | ó | ó | Ó | Ó |
õ | õ | Õ | Õ | ô | ô | Ô | Ô |
ú | ú | Ú | Ú | ü | ü | Ü | Ü |
ç | ç | Ç | Ç |
Atenção
Na linguagem PHP você deve prestar muita atenção na hora de digitar seu código fonte, pois, o PHP é caso sensitivo, ou seja, ele diferencia letras maiúsculas de minúsculas. Por exemplo, as palavras história, História e HISTÓRIA são palavras diferentes.
Por exemplo, veja este código abaixo:
$Texto="A raiz quadrada de 9 é 3";
echo $Texto;
As palavras Texto e echoestão corretos, porém, se você alterar o código fonte com letras maiúsculas e minúsculas,causará erros no código fonte. Observe:
$Texto="A raiz quadrada de 9 é 3";
Echo $TEXTO;
As palavras TEXTO e Echoestãoerrados,causando erros. O computadornãoreconhece estas palavras. Na hora em que digitar o código fonte preste bastante atenção nas letras maiúsculas e minúsculas, por causa de uma letra pode causar erros.
Uma boa prática ao programar utilizando PHP é sempre usar o; (ponto-e-vírgula) no final das suas declarações, mas seu usoé obrigatório.
Você precisa utilizaer o ponto-e-vírgula se utilizar algum compressor de PHP para reduzir o tamanho do arquivo. como os comperssores distribuem os códigos em uma única linha, sem eles será impossível determinar onde começa e termina uma istruçõa, ocasionando erro.
Editor de texto é apenas um processador de texto que é usado para digitar o programa. O texto resultante é conhecido como código fonte.
O editor de texto é um software que permite ao usuário selecionar trechos de um arquivo, alterar, apagar ou adicionar testo ao código-fonte.
Código-fonte é uma seqüência de instruções numa linguagem de programação. O código-fonte é escrito por um programador.
Este mesmo código é traduzido por um outro programador que pode ser pelo navegador no caso do Javascript, pelo servidor no caso do PHP, ou pelo compilador no caso Java.
O código-fonte é o código básico de um programa.
Para começar vamos analisar um exemplo bem simples - abra um editor de texto comum e digite o código que está escrito abaixo:
Arquivo: exemplo.php |
<html> <head> <title>Meu primeiro programa</title> </head> <body> <?php echo "Esta é minha primeira página"; ?> </body> </html> |
Resultado: |
Esta é minha primeira página |
Salve este documento com o nome página01.php
Assim que o exemplo for salvo no editor de texto (bloco de notas, por exemplo) com a extensão .php, ao ser executado, o programa enviará a seqüência de caracteres "Esta é minha primeira página" para a saída padrão que é a tela do monitor.
Para criar um arquivo PHP, basta definir os elementos e suas formatações ou um editor de texto, e salvá-lo com a extensão .php, exemplo:
programa.php
texto.php
arquivo01.php
Basicamente, a sintaxe do corpo do programa consiste em:
Exemplo: |
<?php // Conteúdo ?> |
No PHP , há a possibilidade de colocar mais de 1 arquivo externo ao documento. Ao invés de trabalharmos com o PHP internamente, podemos trabalhá-lo externamente. Em vez de trabalharmos com um arquivo, podemos trabalhar com mais de um arquivo.
Isto pode facilitar e muito a vida do programador.
Abra um editor de texto e copie o arquivo abaixo:
Arquivo: exemplo.php |
<html> <head> <title>Arquivo externo</title> </head> <body> <?php include 'teste.php' ?> </body> </html> |
Salve este arquivo com arquivoesterno.php.
Para incluir um arquivo externo ao documento use o comando include , no exemplo acima o arquivo externo é "teste.php". Devemos sempre salvar este arquivo externo com a extensão php .
Abra o editor de texto de novo e copie este
arquivo abaixo
Arquivo: teste.php |
Testando um arquivo externo. <?php echo 'Bom dia '; echo 'Boa tarde e '; echo 'Boa noite. '; ?> Fim do arquivo externo. |
Resulado: |
Testando um arquivo externo. Bom dia Boa tarde e Boa noite. Fim do arquivo externo. |
Salve este arquivo como teste.php.
Assim que o documento arquivoexterno.php seja executado ao ser executado o programa enviará para a tela do monitor: "Testando um arquivo externo. Bom dia, Boa tarde e Boa noite. Fim do arquivo externo."
Observação: Se você está trabalhando com o arquivo externo do Javascript. Não use as tags <script> e </script> dentro do código, o que causaria erros de programação. O arquivo teste.php só aceita comandos Javascript se colocarmos tags html geraria erros, só use tags html dentro de aspas "duplas" ou 'simples'.
Observação: Se você está trabalhando com o arquivo externo do PHP. É necessário o uso das tags <?php e ?> para aceitar os comandos PHP, sem essas tags <?php e ?>, seu código será tratado como texto ou html.
O arquivo teste.php tanto aceita comandos PHP quanto tags html.
Abra o arquivo teste.php no editor de texto e substitua o código abaixo:
Arquivo: teste.php |
Testando um arquivo externo. <?php echo "Bom dia, "; ?> Fim do arquivo externo. |
Resulado: |
Testando um arquivo externo. Bom dia Boa tarde e Boa noite. Fim do arquivo externo. |
Salve este documento. Na hora de executar o programa não haverá alteração na exibição, tanto este arquivo externo está trabalhando com comandos PHP quanto com tags html.
Comentário é uma breve nota de explicação inseridas em um programa para descrever o que ele fará.
Os programadores usam comentários em seus programas para que outros programadores (e ele próprio) entendam o que o programa faz e como funciona.
Os comentários geralmente descrevem o que o programa faz, quem é o seu autor, por que ele foi alterado, e assim por diante. A maioria das linguagens de programação usa uma sintaxe própria para a especificação de comentários, de modo que os comentários sejam ignorados pelo compilador.
Os comentários não são analisados pelo programa.
Os comentários podem ocupar uma ou várias linhas. Veja o exemplo abaixo:
Para inserir um comentário de uma linha basta colocar o símbolo // antes de qualquer comentário.
Exemplo:
Arquivo: exemplo.php |
<?php |
Para inserir comentários com mais de uma linha basta colocar os símbolos / * para abrir um comentário e * / para fechar o comentário.
Exemplo:
Arquivo: exemplo.php |
<?php /* Comentário com mais de uma linha */ /* Exemplo 1 Exemplo 2 Exemplo 3 */ ?> |
Ás vezes necessitamos informar algo entre aspas dentro de uma string. Isto pode ser resolvido alterando-se aspas duplas e simples. Isto é usado em Javascript e PHP, veja o exemplo em Javascript.
Arquivo: teste.php |
<?php echo '<img src="Teste.gif">'; ?> |
Outro exemplo:
Arquivo: teste.php |
<?php echo '<input Type="button" name="teste" value="Clique Aqui" onclick="alert(\'Exemplo de Aspas\')">'; ?> |
Mais um exemplo em PHP:
Arquivo: teste.php |
<?php echo '<p align="center"> Texto Centralizado </p>'; ?> |
Para inserir um texto no programa use o comando document.write, veja o exemplo abaixo:
Arquivo: teste.php |
<?php echo 'A raiz quadrada de 9 é 3<br>'; echo 'A soma de 5 + 4 é igual a 9 <br>'; echo '6 dividido por 3 é igual a 2 <br>'; ?> |
Para editar um texto externamente basta usar o comando leia:
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Digite seu nome:<input type="text" name="nome"><br> Digite sua idade:<input type="text" name="idade"><br /> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $nome = $_POST['nome']; $idade = $_POST['idade']; echo 'meu nome é ' . $nome . ' e tenho ' . $idade . ' anos.'; ?> </body> </html> |
Resultado 1: |
Digite seu nome: Digite sua idade: |
Resultado 2: |
meu nome é José Antônio e tenho 35 anos. |
Dentro de uma string de texto, podem ser especificado caracteres especiais mostrados a seguir:
Hífen | \' |
Aspas | \" |
Barra invertida | \\ |
Nova linha | \n |
Marca de tabulação | \t |
Retorno de carro | \r |
Backspace | \b |
Exemplo:
Arquivo: tese.php |
<html> <head> <title>teste.php</title> </head> <body> <?php echo "<pre>"; echo "\tO livro: \"Manual Prático do "; echo "Programador\". \nEstá nas livrarias "; echo "e \\ ou jornaleiros. "; echo "</pre>"; ?> </body> </html> |
Resultado: |
O livro: "Manual Prático do Programador". |
Resultado:
O livro: "Manual Prático do Programador".
Está nas livrarias e \ ou jornaleiros.
Variáveis são símbolos que representa um valor numérico ou string usada no programa. O uso de variáveis dá ao programador flexibilidade para mudar o valor a qualquer momento no programa, mesmo que a princípio pareça não ser necessário este tipo de flexibilidade.
O conteúdo de uma variável pode mudar a qualquer momento.
Por exemplo, uma variável chamado cheque poderia conter o número 12, mas o programa teria condições de modificar esse valor a qualquer momento.
O nome de uma variável pode começar com uma letra ou sublinhado "_" seguido de números ou letras sem espaço. Veja alguns exemplos de nomes válidos:
nome
Conta_pag
z01
_cod
Variável String é um conjunto contínuo de caracteres alfanuméricos que não contém números usados para cálculos. Nomes, endereços, palavras e frases são strings. Esses caracteres podem ser as letras maiúsculas, as letras minúsculas, os números e os caracteres especiais (&, #, @, ?, + ). Exemplos:
"aluno"
"1234"
"@ internet"
"0.34"
"1 + 2"
Observação: os dados do tipo literal na linguagem de programação são sempre representados entre aspas duplas(") ou aspas simples (').
Os dados numéricos dividem-se em dois grupos: inteiros e reais.
Os números inteiros podem ser positivos ou negativos e NÃO possuem parte decimal. Este tipo de dado é armazenado na memória do computador, exemplos:
-23
98
0
1350
-257
237
-2
Os números reais podem ser positivos ou negativos e possuem parte decimal. Este tipo de dado é armazenado na memória do computador, exemplo:
23.45
346.98
-34.88
0.0
-247.0
Observação: na linguagem de programação, a separação entre a parte inteira e a parte decimal de um número é feita pelo ponto (.), e a simples presença do ponto já significa que é um número real.
Variável Booleana é uma expressão cujo resultado só pode ser verdadeiro (true) ou falso (false).
As variáveis booleanas são mais usadas em:
Este tipo de variável, quando armazenado na memória do computador, ocupa 1 byte, pois possui apenas duas possibilidades de representação: true ou false.
Exemplo:
Expressão | Resultado | Significado |
$teste=true | verdadeiro | |
$x=false | falso | |
$y=true | verdadeiro | |
$a=4<2 | $a=false | falso |
$b=8>3 | $b=true | verdadeiro |
$c=(3>2)&&(5<4) | $c=false | falso |
$d=(3>4)||(5<4) | $d=true | verdadeiro |
O primeiro operador que você deve conhecer é o de atribuição "=". Ele atribui o conteúdo da expressão à sua direita para a variável do seu lado esquerdo.
x=30
y=10/2 + 6
z=true
a="texto"
Para criar uma variável, a variável deve obedecer as seguintes regras:
Dependendo da linguagem de programação usado pelo programador (ASP, Java, PHP, Javascript, Delphi, Visual Basic e outros) cada linguagem recebe regras de programação diferente, por exemplo:
O PHP, por exemplo,faz diferenciação entre letras maiúsculas e minúsculas; portanto a variável NUM é exatamente diferente a variável num;
Observação: algumas linguagens de programação são sensíveis à caixa alta e caixa baixa, um exemplo disso é o Java, "Olá" e "OLÁ" são duas palavras totalmente diferentes. O Delphi por exemplo não é sensível a caixa, "abc" é exatamente igual a "ABC".
Palavras reservadas são nomes utilizados pelo compilador para representar comandos de controle do programa, operadores e nomes de seções de programas. As palavras reservadas da linguagem Pascal são: (veja a tabela abaixo)
Exemplos de variáveis válidos:
A
a
nota
NOTA
x5
A32
Nota_1
MATRICULA
nota_1
dia
IDADE
Exemplos de variáveis inválidos
5b
e 12
x-y
prova 2n
nota(2)
case
Set
matrícula
Obs: matrícula com acento no í.
Para passar as variáveis de uma página a outra podemos fazê-lo introduzindo a variável dentro do link hipertexto da página destino. Veja exemplo:
Arquivo: teste.html |
<a href="variavel.php?variavel1=Teste1&variavel2=Teste2&variavel3=Teste3">link</a> |
Arquivo: variavel.php |
<?php $variavel2 = $_GET['variavel2']; $variavel3 = $_GET['variavel3']; |
Resultado de teste.html |
link |
Resultado de variavel.php |
Teste1 Teste2 Teste3 |
Resolva os exercícios abaixo:
Exercício 1: Identifique o tipo dos dados:
(a) numérico inteiro;
(b) numérico real;
(c) lógico;
(d) string.
(c) true | (b) 45.0 | (a) 1234 | (b) 0.0 |
(d) "aula" | (d) "c * d" | (a) -234 | (d) "1 2 3 4" |
(b) -0.342 | (b) 35.23 | (d) "34" | (b) -18.589 |
(d) " " | (b) -354.0 | (b) -15.2 | (c) false |
(a) 0 | (a) 897 | (d) "false" | (a) -23 |
Concatenar: Reunir duas strings de caracteres em um só por exemplo, combinar as duas strings "bom" e "dia" formando uma única string "bom dia".
Arquivo: exemplo.php |
<html> // Exemplo 2: // Exemplo 3 |
Resultado: |
Texto1 Texto2 Isto é um texto Meu nome é: José 'Antônio |
Quando usamos formulários para efetuar cálculos matemáticos precisamos converter os valores strings dos formulários em valores numéricos, para logo em seguida calcular usando operadores aritméticos e funções matemáticas.
Se não convertermos os valores strings para numéricas impossibilita de efetuarmos cálculos matemáticos, veja o exemplo no Javascript:
<script language="javascript">
A="7"
B="9"
C=5
document.write(A + B + C)
</script>
Esta operação geraria erros de programação o correto é usarmos conversores, veja o exemplo abaixo:
<script language="javascript">
A="7"
B="9"
C=5
document.write(parseFloat(A) + parseFloat(B) + C)
</script>
PORÉM NO PHP NÃO É POSSÍVEL CONVERTER STRING PARA NUMÉRICA, veja exemplo:
Arquivo: exemplo.php |
<html> <head> <title>Arquivo exemplo.php</title> </head> <body> <?php $A="7"; $B="9"; $C=5; echo $A + $B + $C; ?> </body> </html> |
Resultado: |
21 |
Observando que C já é um valor numérico, enquanto A e B são strings.
Veja outro exemplo:
Arquivo teste.php |
<html> <body> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $Altura=$_POST['Altura']; $Largura=$_POST['Largura']; $Area= $Altura + $Largura/2; echo $Area; ?> </body> </html> |
Resultado: |
Altura: Largura: |
Resultado 2: |
42.5 |
Os valores Largura e Altura são valores strings e Area é um valor numérico. No exemplo acima usamos os formulários Altura e Largura, os valores Largura e Altura são valores strings enquanto Area é um valor numérico.
Se efetuarmos os cálculos Area = Altura * Largura/2 sem converter string em numérica NO PHP NÃO GERARÍAMOS ERROS de programação.
Exercício 1: Use a calculadora abaixo:
Arquivo teste.php |
<html> <html> <head> <title>Calculadora</title> </head> <body> <form name="frm_teste" action="teste2.php" method="post"> <input type="text" name="campo1"> <input type="text" name="campo2"><br> <input type="button" value="+" onClick="document.frm_teste.calcular.value=0; frm_teste.submit();"> <input type="button" value="-" onClick="document.frm_teste.calcular.value=1; frm_teste.submit();"> <input type="button" value="*" onClick="document.frm_teste.calcular.value=2; frm_teste.submit();"> <input type="button" value="/" onClick="document.frm_teste.calcular.value=3; frm_teste.submit();"> <input type="hidden" name="calcular" value=""> <input type="reset" value="Limpar"><br> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $op1 = $_POST['campo1']; $op2 = $_POST['campo2']; $op = $_POST['calcular']; if ($op==0){ $res=$op1+$op2; }else if ($op==1){ $res=$op1-$op2; }else if ($op==2){ $res=$op1*$op2; }else if ($op==3){ $res=$op1/$op2; } echo "Resultado " . $res; ?> </body> </html> |
Resultado 1: |
|
Resultado 2 (da Multiplicação): |
Resultado 88 |
Exercício 2: Use esta outra calculadora
Arquivo teste.php |
<html> <head> <title>Calculadora</title> </head> <body> <form name="calculo" action="teste2.php" method="post"> Campo1: <input type="text" name="campo1" value="" size="10" maxlength="10"> Campo2: <input type="text" name="campo2" value="" size="10" maxlength="10"> Campo3: <input type="text" name="campo3" value="" size="10" maxlength="10"><br> <input type="button" value="Soma" onClick="document.calculo.resultado.value='processa1'; calculo.submit()"> <input type="button" value="Multiplica" onClick="document.calculo.resultado.value='processa2'; calculo.submit()"><br> <input type="hidden" name="resultado" value=""> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $p = $_POST['resultado']; if ($p=='processa1') { $d = $_POST['campo1']+$_POST['campo2']+$_POST['campo3']; } else if ($p=='processa2') { $d = $_POST['campo1']*$_POST['campo2']*$_POST['campo3']; } echo "Resultado " . $d; ?> </body> </html> |
Resultado 1: |
Campo1:
Campo2:
Campo3: |
Resultado 2 (soma): |
Resultado 1269 |
Operadores são símbolos que representa uma operação matemática; são três tipos de operadores:
O operador mais usado é o operador de atribuição "=". Ele atribui o conteúdo da expressão à sua direita para a variável do seu lado esquerdo.
X=40
X=20/10 + 5
X=Y
Operadores aritméticos são símbolos usados pelo computador + , -, * , /, para efetuar cálculos matemáticos.
Os operadores aritméticos são os seguintes:
Operadores | Nome | Utilização |
+ | Adição | Soma valores |
- | Subtração | Subtrai valores |
* | Multiplicação | Multiplica valores |
/ | Divisão | Divide valores |
% | Módulo | Determina o resto da divisão |
Veja os exemplos abaixo:
Exemplo 1: Efetue cálculos usando operadores aritméticos
Operação | Resultado |
5 + 8 | 13 |
12-7 | 5 |
3 * 6 | 18 |
10/3 | 3.333333 |
10 % 3 | 1 |
Exemplo 2: Efetue cálculos aritméticos usando parênteses
Operação | Resultado |
4 * 2 + 1 | 9 |
4 * (2 + 1) | 12 |
3 + 5 * 4-2 | 21 |
(3 + 5) * (4-2) | 16 |
+ | Adição |
- | Subtração |
* | Multiplicação |
/ | Divisão |
( ) | Parênteses |
Lista de Exercícios:
Exercício 1. Faça um programa que receba quatro números inteiros, calcula e mostre a soma desses números
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> <input type="text" name="n1"> + <input type="text" name="n2"> + <input type="text" name="n3"> + <input type="text" name="n4"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $n1=$_POST['n1']; $n2=$_POST['n2']; $n3=$_POST['n3']; $n4=$_POST['n4']; $soma=$n1 + $n2 + $n3 + $n4; echo $soma; ?> </body> </html> |
Resultado 1: |
+ + + |
Resultado 2: |
1149912 |
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> Área do Trângulo <form action="teste2.php" method="post"> Base: <input type="text" name="base"> Altura: <input type="text" name="altura"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $base=$_POST['base']; $altura=$_POST['altura']; $area=($base * $altura)/2; echo $area; ?> </body> </html> |
Resultado 1: |
Área do Triângulo Base: Altura: |
Resultado 2: |
720 |
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Salário: <input type="text" name="sal"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $sal=$_POST['sal']; $aumento=$sal * 25/100; $novosal=$sal + $aumento; echo 'Novo Salário: '.$novosal; ?> </body> </html> |
Resultado 1: |
Salário: |
Resultado 2: |
Novo Salário: 1100 |
Exercício 5. Crie um programa que dê o resultado da soma, do produto e da diferença.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> Entre com dois números: <br> <form action="teste2.php" method="post"> A: <input type="text" name="A"> B: <input type="text" name="B"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $A=$_POST['A']; $B=$_POST['B']; echo "Operaçôes com números " . $A . " e " . $B . ":"; echo "<br>Soma = " . ($A + $B); echo "<br>Produto = " . ($A * $B); echo "<br>Diferença = " . ($A-$B); ?> </body> </html> |
Resultado 1: |
Entre com dois números: A: B: |
Resultuado 2: |
Operaçôes com números 7 e 18: Soma = 25 Produto = 126 Diferença = -11 |
Exercício 6. Crie um programa que dê o quadrado de um
número
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Digite um numero: <input type="text" name="n"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $n=$_POST['n']; $Quadrado=$n*$n; echo "O quadrado de ". $n. " e ". $Quadrado; ?> </body> </html> |
Resultado 1: |
Digite um numero: |
Resultado 2: |
O quadrado de 24 e 576 |
Operadores relacionais são operadores que permitem ao programador comparar dois (ou mais) valores ou expressões.
Os operadores relacionais típicos são: (veja a tabela abaixo:)
Operador | Significado | Exemplo |
== | Igual | 3==(4-1) ou "VILMA"=="VILMA" |
!= | Diferente | 5 != (3 + 3) ou "VILMA"!= "BETH" |
< | Menor que | 3<23 |
> | Maior que | 41>39 |
<= | Menor ou igual a | 5 <= 6 |
>= | Maior ou igual a | 10 >= 10 |
Veja os exemplos abaixo:
Exemplo 1. Veja o seguinte resultado
Operação | Resultado |
23<3 | false (falso) |
41>39 | true (verdadeiro) |
6 <= 5 | false (falso) |
10 >= 10 | true (verdadeiro) |
7==8 | false (falso) |
48 != 22 | true (verdadeiro) |
Exemplo 2. Se a=100 e b=200, calcule:
Operação | Resultado |
a>b | false (falso) |
b>a | true (verdadeiro) |
a != b | true (verdadeiro) |
Exemplo 3. Resolva a seguinte operação:
Operação | Resultado |
23==(4 * 2 + 3 * 5) | true (verdadeiro) |
17==(12/2 + 8-5) | false (falso |
23==(4 * 2 + 3 * 5) |
17==(12/2 + 8-5) |
Exemplo 4. Dadas as strings abaixo resolva:
Operação | Resultado |
"FRED"=="FRED" | true (verdadeiro) |
"FRED"!="SAM" | true (verdadeiro) |
"ONE"=="TWO" | false (falso) |
"THREE"!= "THREE" | false (falso) |
AND, OR, XOR e NOT são as operações fundamentais a lógica booleana.
Estes operadores só aceitam como operandos valores lógicos: TRUE ou FALSE.
Veja a tabela abaixo
Operador | Significado |
And ( && ) | Verdadeiro se ambos os lados da expressão forem verdadeiros. |
Or ( || ) | Verdadeiro se um ou ambos os lados da expressão forem verdadeiros |
Xor ( ^ ) | Verdadeiro se apenas um lado for verdadeiro |
Not ( ! ) | Reverte verdadeiro para falso e vice-versa |
Se você está acostumado com o C, C + + , Java e Javascript já deve ter notado que seus operadores booleanos usam símbolos diferentes.
And é substituído por &&
Or é substituído por ||
e Not é substituído por !
Se o leitor não teve nenhum contato com essas linguagens, poderá ter algumas dificuldades iniciais de escrever este tipo de código. Por exemplo:
(x>2)&&(y==9)
Leia-se: x maior que 2 E y igual a 9
(x<3)||(x>8)
Leia-se: x menor que 3 OU x maior que 8
if((altura>170)||(idade>18)) {
// Ação...
}
Leia-se: se altura maior que 170 centímetros OU idade maior que 18 anos...
Veja a tabela abaixo:
Símbolo | Operação |
&& | And (E) |
|| | Or (Ou) |
! | Not (Não) |
Existem os operadores binários (semelhantes aos operadores acima), veja a tabela abaixo:
Símbolo | Operação |
& | And lógico |
| | Or lógico |
^ | Xor lógico |
Iremos estudar cada um:
AND (&&) é verdadeiro se ambas as entradas forem verdadeiras, veja o quadro abaixo:
(a==true)&&(b==true) o resultado é true (verdadeiro) |
(a==false)&&(b==true) o resultado é false (falso) |
(a==true)&&(b==false) o resultado é false (falso) |
(a==false)&&(b==false) o resultado é false (falso) |
Por exemplo a expressão:
(3 + 2==5)&&(6 + 2==8)
É verdadeira porque as expressões em ambos os lados de And são verdadeiras. no entanto, a expressão:
(4 + 3==9)&&(3 + 3==6)
É falsa, porque a expressão à esquerda de And é falsa. Lembre-se disto quando combinar expressões com And: se qualquer expressão for falsa, toda a expressão será falsa.
OR (||) é verdadeiro se qualquer uma das entradas for verdadeira, veja o quadro abaixo:
(a==true)||(b==true) o resultado é true (verdadeiro) |
(a==false)||(b==true) o resultado é true (verdadeiro) |
(a==true)||(b==false) o resultado é true (verdadeiro) |
(a==false)||(b==false) o resultado é false (falso) |
Por exemplo, as expressões:
(3 + 6==2)||(4 + 4==8)
e
(4 + 1==5)||(7 + 2==9)
São ambas verdadeiras porque pelo menos uma das expressões comparada é verdadeira. Observe que no segundo caso, ambas as expressões comparadas são verdadeiras, o que também torna verdadeira uma expressão Or.
Um XOR (OU exclusivo) é verdadeiro se somente uma das entradas for verdadeira e não ambas, veja o quadro abaixo:
(a==true)^(b==true) o resultado é false (falso) |
(a==false)^(b==true) o resultado é true (verdadeiro) |
(a==true)^(b==false) o resultado é true (verdadeiro) |
(a==false)^(b==false) o resultado é false (falso) |
Por exemplo, a expressão:
(3 + 6==2)^(4 + 4==8)
É verdadeira porque apenas a expressão (4 + 4=8) é verdadeira. No entanto a expressão:
(4 + 1==5)^(7 + 2==9)
É falsa, porque ambas as expressões são verdadeiras.
NOT (!) Uma operação lógica booleana que inverte a entrada. Se a entrada for true, a saída é false, e vice-versa, veja o quadro abaixo:
!(true) o resultado é false |
!(false) o resultado é true |
Por exemplo, a expressão:
(4 + 3==5)
Não é verdadeira; no entanto a expressão
!(4 + 3==5)
É verdadeira porque o operador Not reverte para verdadeiro o resultado falso da expressão (4 + 3=5).
Observe esta expressão:
(4 + 5==9) && !(3 + 1==3)
Esta expressão é verdadeira ou falsa? Se você disse verdadeira, compreende a forma como funcionam os operadores lógicos. As expressões em ambos os lados de And são verdadeiras, então toda a expressão é verdadeira.
Veja exemplos abaixo:
Exemplo 1. Resulta as seguintes operações booleanas
Expressão | Resultado |
(3>2)&&(5>4) | true (verdadeiro) |
(2>1)&&(7>8) | false (falso) |
(3>4)||(9>2) | true (verdadeiro) |
(7>7)||(4>4) | false (falso) |
(2==2)^(5==5) | false (falso) |
(4>5)^(4<5) | true (verdadeiro) |
! true | false (falso) |
! (9<1)||(9<1) | true (verdadeiro) |
Exemplo 2. Se a=100, b=200 e c=300, resolva:
Expressão | Resultado |
b>a && c>b | true (verdadeiro) |
b>a && b==c | falso (falso) |
b>a || b==c | true (verdadeiro) |
b>a ^ c>b | false (falso) |
! a <> b | false (falso) |
Exemplo 3. Resolva a seguinte operação:
(4 * (3 + 5))/2>100 || (5 * (3 + 4)/2<100)
Solução(4 * (3 + 5))/2>100 || (5 * (3 +
4)/2<100)
(4 * 8)/2>100 || (5 * 7/2<100)
32/2>100 || (35/2<100)
16>100 || 17.5<100
false || false
false
Observe a lista de prioridades abaixo:
Resumindo
Nível de prioridade | Operadores | Ordem | |
Mais alta: | 1 | Variáveis | da esquerda para a direita |
2 | Propriedades do Objeto | da esquerda para a direita | |
3 | Parênteses | da esquerda para a direita | |
4 | Funções | da esquerda para a direita | |
5 | Potenciação | da esquerda para a direita | |
6 | * , /, % | da esquerda para a direita | |
7 | + , - | da esquerda para a direita | |
8 | >, <, >= , <= , ==, != | da esquerda para a direita | |
9 | ! | da esquerda para a direita | |
Mais baixa: | 10 | &&, || | da esquerda para a direita |
O comando If é uma instrução de linguagem de programação que compara dois ou mais conjuntos de dados e verifica os resultados. Se o resultado for verdadeiro, as instruções que seguem o comando If serão executados; se não, as instruções que seguirem o comando Else serão executados. Veja o exemplo abaixo:
Vejamos:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $A=true; if ($A==true) { echo 'Execute B'; } else { echo 'Execute C'; } ?> </body> </html> |
Resultado: |
Execute B |
Outro exemplo a seguir também é um exemplo bem simples:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $teste=true; if ($teste) { echo 'Esta linha será impressa'; } else { echo 'Esta linha não será impressa'; } ?> </body> </html> |
Resultado: |
Esta linha será impressa |
Vamos ver um exemplo:
Arquivo: teste.php |
<html> if($Descontos!=0){ |
Resultado: |
Descontos deste mês: 315 |
O sistema só executará o comando echo quando o valor da variável desconto for maior que 0. Agora, ficou claro que este comando é muito útil para dar ao sistema uma espécie de "poder de decisão". na verdade, estamos programando o sistema para cada tipo de situação e então o software agirá conforme a necessidade de cada problema, situação ou estado do sistema naquele momento.
Podemos dar ao fluxo mais uma opção utilizando a cláusula else. Nesse caso, o fluxo executará o bloco antes ou depois desta cláusula. No exemplo anterior, podemos incrementar o código com mais uma situação.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $Descontos=315; if($Descontos != 0){ echo 'Descontos deste mês: ' . $Descontos; } else { echo 'Não há descontos este mês.'; } ?> </body> </html> |
Resultado: |
Descontos deste mês: 315 |
Para entender melhor o exemplo troque o valor da variável Descontos para zero e teste novamente.
A cláusulaelse ifnos permite ter várias expressões dentro do mesmo comando If. Isso permite escolher entre várias situações e, caso nenhuma retorne verdadeiro, o fluxo irá para a cláusula else, se esta for utilizada. Veja
Arquivo: teste.php |
<html> if ($Salario<1250){ |
Resultado: |
Retenção de 5% para imposto mensal |
Podemos observar que a cláusula else if pode ser utilizada várias vezes, permitindo calcular várias faixas para um valor de salário. Aqui, utilizamos a variável Salario, mas este valor pode vir de um banco de dados que será alimentado por usuários do sistema, em momento totalmente distinto a sua programação.
Por isso, os sistemas são bastante flexíveis aos dados e devem tratá-los de acordo com as normas e legislações vigentes.
Podemos verificar isso no exemplo anterior, no qual para cada faixa salarial é aplicado um imposto que, em um software oficial, deve estar de acordo com as normas legais.
Lista de exercícios
Exercício 1. Elaborar um algoritmo para receber um número inteiro e informar se ele é par ou ímpar.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Numero: <input type="text" name="num"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $num=$_POST['num']; if($num % 2 == 0){ echo "Par"; } else { echo "Ímpar"; } ?> </body> </html> |
Resultado 1: |
Numero: |
Resultado 2: |
Par |
Exercício 2. Receber a temperatura - em graus Celsius - de uma pessoa e emitir uma mensagem se ela estiver com febre.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> Medindo sua Temperatura<br> <form action="teste2.php" method="post"> Temperatura: <input type="text" name="temperatura"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $temperatura=$_POST['temperatura']; $febre=37; if($temperatura >= $febre){ echo "Paciente com febre"; }else { echo "Paciente sem febre"; } ?> </body> </html> |
Resultado 1: |
Medindo sua Temperatura Temperatura: |
Resultado 2: |
Paciente com febre |
Exercício 3. Crie um algoritmo que informa se você é do sexo masculino ou feminino
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> Você é do sexo masculino? s/n?? <form action="teste2.php" method="post"> <input type="text" name="s_n" size="1" maxlength="1"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $s_n=$_POST['s_n']; if($s_n=="s") { echo "Você é do sexo masculino"; }else { echo "Você é do sexo feminino"; } ?> </body> </html> |
Resultado 1: |
Você é do sexo masculino? s/n?? |
Resultado 2: |
Você é do sexo masculino |
Exercício 4. Faça um programa que indique se o ano é bissexto ou não.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> <p>Ano Bissexto</p> <form action="teste2.php" method="post"> Digite o ano: <input type="text" name="Ano"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $Ano=$_POST['Ano']; if ($Ano % 4 == 0){ echo $Ano . " é bissexto"; } else { echo $Ano . "nãão é bissexto"; } ?> </body> </html> |
Resultado 1: |
Ano Bissexto Digite o ano: |
Resultado 2: |
2004 é bissexto |
< | Menor que |
> | Maior que |
== | Igual a |
<= | Menor ou Igual a |
>= | Maior ou igual a |
!= | Diferente |
Lista de exercícios
Exercício 1. Faça um programa que indique se ele é maior, menor ou igual a 100.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> Maior que e menor que 100<br> <form action="teste2.php" method="post"> Numero: <input type="text" name="numero"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $numero=$_POST['numero']; if($numero<100){ echo "O número é menor do que 100"; }else{ echo "O número é maior ou igual a 100"; } ?> </body> </html> |
Resultado 1: |
Maior que e menor que 100 Numero: |
Resultado 2: |
O número é maior ou igual a 100 |
Exercício 2. Faça um programa que indique se ele é positivo, negativo ou igual a 0.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> O Número é Positivo ou Negativo<br> <form action="teste2.php" method="post"> Número: <input type="text" name="n"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $n=$_POST['n']; if ($n>0) { echo "O número é positivo"; }else { echo "O número ou é igual a 0 ou é negativo"; } ?> </body> </html> |
Resultado 1: |
O Número é Positivo ou Negativo Número: |
Resultado 2: |
O número ou é igual a 0 ou é negativo |
Exercício 3. Faça um programa que receba dois números e mostre o maior.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> Define qual o número é maior:<br> <form action="teste2.php" method="post"> Digite o primeiro nnúmero: <input type="text" name="num1"><br> digite o segundo nnúmero: <input type="text" name="num2"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $num1=$_POST['num1']; $num2=$_POST['num2']; if($num1>$num2){ echo "O maior número é: ". $num1; } else if($num1<$num2) { echo "O maior número é: ". $num2; }else if($num1==$num2) { echo "Os números são iguais"; } ?> </body> </html> |
Resultado 1: |
Define qual o número é maior: Digite o primeiro número: digite o segundo número: |
Resultado 2: |
O maior número é: 3 |
Exercício 4. Criar um algoritmo que receba a idade e informe se é criança, adolescente, adulto ou idoso:
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> Define sua idade:<br> <form action="teste2.php" method="post"> Qual a sua idade? <input type="text" name="idade"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $idade=$_POST['idade']; if ($idade<13) { echo "Você é uma criança"; }else if($idade<18) { echo "Você é um adolescente"; }else if($idade<65) { echo "Você é um adulto"; } else { echo "Você é um idoso"; } ?> </body> </html> |
Resultado 1: |
Define sua idade: Qual a sua idade? |
Resultado 2: |
Você é um adulto |
AND | && | (E) |
OR | || | (OU) |
NOT | ! | (NÃO) |
Lista de exercícios
Exercício 1. Faça um programa que receba três notas de um aluno, calcule e mostre a média aritmética e diga se foi aprovado, reprovado ou em recuperação.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> Exemplo: Aprovado ou Reprovado<br> <form action="teste2.php" method="post"> Digite a primeira nota: <input type="text" name="nota1"><br> Digite a segunda nota: <input type="text" name="nota2"><br> Digite a terceira nota: <input type="text" name="nota3"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> if($media >= 0 && $media<5) { |
Resultado 1: |
Exemplo: Aprovado ou Reprovado Digite a primeira nota: Digite a segunda nota: Digite a terceira nota: |
Resultado 2 |
Média aritmética: 7<br> Aprovado |
Exercício 2. Faça um programa que receba três notas de um aluno, calcule e mostre a média aritmética e diga se tirou nota A, B, C, D, ou E.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Digite a primeira nota: <input type="text" name="nota1"><br> Digite a segunda nota: <input type="text" name="nota2"><br> Digite a terceira nota: <input type="text" name="nota3"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> if($media >= 8 && $media <= 10) { |
Resultado 1: |
Digite a primeira nota: Digite a segunda nota: Digite a terceira nota: |
Resultado 2: |
Média aritmética: 7<br>nota B |
Exercício 3. Dados três valores A, B, C, verificar se eles formam um triângulo eqüilátero, isósceles ou escaleno.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> Triângulo<br> <form action="teste2.php" method="post"> Lado A: <input type="text" name="A"><br> Lado B: <input type="text" name="B"><br> Lado C: <input type="text" name="C"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $A=$_POST['A']; $B=$_POST['B']; $C=$_POST['C']; if($A<($B + $C) && $B<($A + $C) && $C<($A + $B)) { if($A==$B && $B==$C) { echo "Triângulo Equilátero"; } else if($A==$B || $A==$C || $B==$C) { echo "Triângulo Isósceles"; } else { echo "Triângulo Escaleno"; } }else { echo "Estes valore não formam um triângulo"; } ?> </body> </html> |
Resultado 1: |
Triângulo Lado A: Lado B: Lado C: |
Resultado 2: |
Estes valore não formam um triângulo |
Exercício 4. Crie uma estrutura de decisão comparando dois alunos e informe se ele foram aprovados ou reprovados
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $Aluno1="Aprovado"; $Aluno2="Reprovado"; if ($Aluno1=="Aprovado" && $Aluno2=="Aprovado"){ echo 'Ambos estão aprovados!'; } else { echo 'Um dos alunos foi reprovado'; } ?> </form> </body> </html> |
Resultado: |
Um dos alunos foi reprovado |
Repare nesta outra construção para comando if aninhado:
Exemplo: |
<?php $mes = 4; if ($mes==1) {echo 'Jan';} else if ($mes==2) {echo 'Fev';} else if ($mes==3) {echo 'Mar';} else if ($mes==4) {echo 'Abr';} else if ($mes==5) {echo 'Mai';} else if ($mes==6) {echo 'Jun';} else if ($mes==7) {echo 'Jul';} else if ($mes==8) {echo 'Ago';} else if ($mes==9) {echo 'Set';} else if ($mes==10) {echo 'Out';} else if ($mes==11) {echo 'Nov';} else if ($mes==12) {echo 'Dez';} else {echo 'Mês inválido';} ?> |
Embora essa construção seja perfeitamente válida, há uma forma mais eficiente de se obter os mesmos resultados. É o comando case cujo funcionamento é muito parecido com os if's aninhados:
Arquivo: teste.php |
<html> $mes = 4; if ($mes==1) {echo 'Jan';} |
Resultado: |
Abr |
Este comando permite que várias comparações sejam feitas e, no final, apenas uma seja escolhida para executar um código específico da condição selecionada. Ele funciona igualmente a vários ifs, mas agora ele testa os valores de uma mesma variável.
Vejamos um exemplo:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $valor=2; switch ($valor){ case 0: echo 'O valor da variável é 0 '; break; case 1: echo 'O valor da variável é 1 '; break; case 2: echo 'O valor da variável é 2 '; break; case 3: echo 'O valor da variável é 3 '; break; case 4: echo 'O valor da variável é 4 '; break; } ?> </body> </html> |
Resultado: |
O valor da variável é 2 |
No exemplo anterior, o comando Case testará linha a linha, em busca de um case que corresponda ao valor da variável.
Quando encontrar o valor correspondente, executará os comandos que virão logo após este case.
Em linguagens de programação tais como o C, Java, Javascript PHP, esses comandos estarão entre { }, se for mais que um. Teste o código e veja como fica.
Quando precisamos executar apenas o case que corresponda ao valor da variável, utilizaremos um comando que tem a característica de para fluxos de execução, o comando break. Caso esse não seja utilizado, todos os cases após o case que corresponda ao valor da variável de referência serão executados.
Utilizando o exemplo anterior, veremos como ficaria o código com o uso do comando break:
Arquivo: teste.php |
<html> switch ($valor){ |
Resultado |
O valor da variável é 2 |
No exemplo anterior, apenas os comandos que correspondam ao case que tem o mesmo valor da variável serão executados.
Teste os exemplos anteriores, veja a diferença entre eles e descobrirá que o exemplo que possui o break é, nesse caso, o correto.
Exemplo 1. Determine o número de dias durante um mês
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Digite o mês: <input type="text" name="Mes"><br> Digite o ano: <input type="text" name="Ano"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $Mes=$_POST['Mes']; $Ano=$_POST['Ano']; $NumDias=0; switch($Mes) { case 4: case 6: case 9: case 11: $NumDias=30; break; case 2: if ($Ano % 4 == 0) { $NumDias=29; } else { $NumDias=28; } break; default: $NumDias=31; break; } echo "O mes ". $Mes . " tem " . $NumDias . " dias."; ?> </body> </html> |
Resultado 1: |
Números de dias: Digite o mês: Digite o ano: |
Resultado 2: |
O mês 5 tem 31 dias. |
Exemplo 2. Crie um algoritmo que informe o dia da semana
Arquivo: teste.php |
<html> switch($DiaDaSemana) { case 0: echo "Domingo"; break; |
Resultado: |
Sábado |
Exemplo 3: Crie um algoritmo que dê um aviso de bom dia, boa tarde e boa noite:
Arquivo: teste.php |
<html> $HoraAtual = $HoraAtual - 3; switch($HoraAtual){ |
Retorno: |
Boa tarde! |
Exemplo 4. Crie um programa que gerencie um caixa eletrônico
Arquivo teste.php |
<html> Menu Principal</pre> <form action="teste2.php" method="post"> <input type="text" name="menu" size="1" maxlength="1"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $menu=$_POST['menu']; switch($menu) { case "1": echo "Incluir"; break; case "2": echo "Alterar"; break; case "3": echo "Excluir"; break; case "4": echo "Relatório"; break; case "5": echo "Sair"; break; default: echo "Opção inválida"; break; } ?> </body> </html> |
Resultado 1: |
Menu Principal |
Resultado 2: |
Sair |
Exercício 5. Crie uma calculadora com as 4 operações da matemática: adição, subtração, divisão e multiplicação.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Digite o primeiro número: <input type="text" name="A"><br> Escolha um operador + , -, * , / <input type="text" name="operador" size="1" maxlength="1"><br> Digite o segundo número: <input type="text" name="B"> <input type="submit" value="Reslutado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $A=$_POST['A']; $B=$_POST['B']; $operador=$_POST['operador']; switch($operador) { case "+": echo "Resultado soma da igual a ". ($A + $B); break; case "-": echo "Resultado da subtração igual a ". ($A - $B); break; case "*": echo "Resultado da multiplicação igual a ". ($A * $B); break; case "/": echo "Resultado da divisão igual a ". ($A / $B); break; default: echo "Caractere diferente de + , -, * , /"; break; } ?> </body> </html> |
Resultado 1: |
Digite o primeiro número: Escolha um operador + , -, * , / Digite o segundo número: |
Resultado 2: |
Resultado da multiplicação igual a 144 |
Exercício 6. Crie um programa que digite um caractere e diga se ele é vogal maiúscula, valor numérico, operador aritmético ou outro caractere.
Arquivo teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Escolha um caractere: <input type="text" name="caractere" size="1" maxlength="1"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $caractere=$_POST['caractere']; switch($caractere){ case "A": case "E": case "I": case "O": case "U": echo "Vogal maiúscula"; break; case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": echo "Valor numérico"; break; case "+": case "-": case "*": case "/": echo "Operador Aritmético"; break; default: echo "Você digitou outro caractere"; break; } ?> </body> </html> |
Resultado 1: |
Escolha um caractere: |
Resultado 2: |
Operador Aritmético |
Diferente da instrução IF, o operador ternário tem este nome porque necessita de três operandos para se avaliado. Ooperador ternário tem a seguinte forma:
condição1 ? expressão_verdadeira : espressão_falsa
Para avaliar o resultado da expressão primeiro a condição1 é avaliada. Caso este resultado seja verdadeiro então resultado da expressão será igual ao valor da expressão_verdadeira, no caso contrário expressão_falsa é avaliada e se torna o resultado.
Exemplo 1:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $variavel=50; $resultado=($variavel >= 0)&&($variavel <= 100) ? "VERDADEIRO" : "FALSO"; echo $resultado; ?> </body> </html> |
Reslultado: |
VERDADEIRO |
Exemplo 2:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $horas=30; $minutos=45; $segundos=30; $horas=($horas >= 0)&&($horas <= 24) ? $horas : 0; $minutos=($minutos >= 0)&&($minutos <= 60) ? $minutos : 0; $segundos=($segundos >= 0)&&($segundos <= 60) ? $segundos : 0; echo 'São ' . $horas . ':' . $minutos . ':' . $segundos; ?> </body> </html> |
Resultado: |
São 0:45:30 |
Exemplo 3:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Digite a primeira nota: <input type="text" name="nota1"><br> Digite a segunda nota: <input type="text" name="nota2"><br> Digite a terceira nota: <input type="text" name="nota3"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $nota1=$_POST['nota1']; $nota2=$_POST['nota2']; $nota3=$_POST['nota3']; $media=($nota1 + $nota2 + $nota3)/3; $resultado=($media >= 6)&&($media <= 10) ? "Aprovado" : "Reprovado"; echo "Média: ".$media." => ".$resultado; ?> </body> </html> |
Resultado 1: |
Digite a primeira nota: Digite a segunda nota: Digite a terceira nota: |
Resultado 2: |
Média: 7 => Aprovado |
O comando FOR é uma estrutura de repetição que repete uma série de instruções um número especificado de vezes. Digamos que deseje imprimir seu nome na tela dez vezes, por exemplo:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Digite um nome: <input type="text" name="nome"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo: teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $nome=$_POST['nome']; echo $nome."<br>"; echo $nome."<br>"; echo $nome."<br>"; echo $nome."<br>"; echo $nome."<br>"; echo $nome."<br>"; echo $nome."<br>"; echo $nome."<br>"; echo $nome."<br>"; echo $nome."<br>"; ?> </body> </html> |
Resultado 1: |
Digite um nome: |
Resultado 2: |
Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons |
Quando você rodar o programa, digite um nome na caixa de texto e clique no botão Ok ou dê Enter. Quando o fizer, o programa imprimirá o nome dez vezes na janela do formulário, como mostrado a seguir:
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Ter muitas linhas em seu programa contendo instruções idênticas alonga-o além do necessário e desperdiça memória. Também mostra um estilo de programação ruim. Ao menos que você deseje que seus amigos programadores riam de você pelas costas, aprenda a substituir códigos de programa redundante por loops de programa.
A rotina do programa anterior pode ser extremamente fácil usando-se um loop For, e aqui está como:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <form action="teste2.php" method="post"> Digite um nome: <input type="text" name="nome"> <input type="submit" value="Resultado"> </form> </body> </html> |
Arquivo: teste2.php |
<html> <head> <title>teste2.php</title> </head> <body> <?php $nome=$_POST['nome']; for($i=1; $i<=10; $i++){ |
Resultado 1: |
Digite um nome: |
Resultado 2: |
Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons Bart Simpsons |
Substitua a rotina do programa anterior por esta. Quando você roda o programa, a saída será idêntica àquela do primeiro programa, mas agora o programa é menor e sem código redundante.
Exercício 1. Crie uma estrutura de repetição que conte de 1 até 10.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=1; $x<=10; $x++){ echo $x.", "; } ?> </body> </html> |
Resultado: |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, |
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=0; $x<=20; $x=$x+2){ echo $x.", "; } ?> </body> </html> |
Resultado: |
0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, |
Exercício 3. Crie uma estrutura de repetição que imprima os números ímpares.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=1; $x<=21; $x=$x+2){ echo $x.", "; } ?> </body> </html> |
Resultado: |
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, |
Exercício 4. Crie uma estrutura de repetição que imprima os números múltiplos de 5.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=0; $x<=50; $x=$x+5){ echo $x.", "; } ?> </body> </html> |
Resultado: |
0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, |
Exercício 5. Crie uma estrutura de repetição que conte de 110 até 120.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=110; $x<=120; $x++){ echo $x.", "; } ?> </body> </html> |
Resultado: |
110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, |
Exercício 6. Crie uma estrutura de repetição que conte de 40 até 80 e ao mesmo tempo imprima números múltiplos de 8.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=40; $x<=80; $x+=8){ echo $x.", "; } ?> </body> </html> |
Resultado: |
40, 48, 56, 64, 72, 80, |
Exercício 7. Crie uma estrutura de repetição que conte de 20 até 1 invertidamente.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=20; $x>=1; $x--){ echo $x.", "; } ?> </body> </html> |
Resultado: |
20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, |
Exercício 8. Crie uma estrutura de repetição que conte de -10 até + 10 (números negativos e números positivos)
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=-10; $x<=10; $x++){ echo $x.", "; } ?> </body> </html> |
Resultado: |
-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, |
Exercício 9. Crie uma estrutura de repetição que conte de -25 até -15.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=-25; $x<=-15; $x++){ echo $x.", "; } ?> </body> </html> |
Resulado: |
-25, -24, -23, -22, -21, -20, -19, -18, -17, -16, -15, |
Exercício 10. Crie um conjunto dos números múltiplos de 3 usando a estrutura de repetição FOR.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=0; $x<=30; $x+=3){ echo $x.", "; } ?> </body> </html> |
Resultado: |
0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, |
Exercício 11. Crie uma estrutura de repetição de 1 até 10, informando o quadrado deste número.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for ($N=1; $N<=10; $N++){ $Quadrado=$N * $N; echo 'O quadrado de ' . $N . ' é ' . $Quadrado.'<br>'; } ?> </body> </html> |
Resultado: |
O quadrado de 1 é 1<br> O quadrado de 2 é 4<br> O quadrado de 3 é 9<br> O quadrado de 4 é 16<br> O quadrado de 5 é 25<br> O quadrado de 6 é 36<br> O quadrado de 7 é 49<br> O quadrado de 8 é 64<br> O quadrado de 9 é 81<br> O quadrado de 10 é 100<br> |
Exercício 12. Crie uma estrutura de repetição que imprima "Olá" dez vezes.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php for($x=1; $x<=10; $x++){ echo 'Olá<br>'; } ?> </body> </html> |
Resultado: |
Olá<br> Olá<br> Olá<br> Olá<br> Olá<br> Olá<br> Olá<br> Olá<br> Olá<br> Olá<br> |
O comando while é utilizado quando se deseja repetir um comando, ou um grupo de comandos, enquanto uma dada condição for verdadeira. Um exemplo muito simples é o de escrever os números inteiros entre 1 e 10 na tela. Para isto podemos construir um programa muito simples para esta tarefa
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $i=1; while($i <= 10) { echo $i.", "; $i=$i + 1; } ?> </body> </html> |
Resultado: |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, |
Segundo o programa acima podemos ver que o programa termina quando o teste i <= 10 der como resultado false.
Para que isto ocorra, necessariamente devemos ter i>10. A cada passo o programa primeiro testa a condição e após imprime e incrementa a variável. Assim o programa deve gerar seqüencialmente os valores 1, 2, 3... 10. Após o valor 10 faz i=11 e volta a testar a condição. Neste caso (11 <= 10) é false e o programa termina.
Exercício 1. Crie uma estrutura de repetição que conte de 1 até 10.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=1; while($x <= 10) { echo $x.", "; $x=$x + 1; } ?> </body> </html> |
Resultado: |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, |
Exercício 2. Crie uma estrutura de repetição que imprima os números pares
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=0; while($x <= 20) { echo $x.", "; $x=$x + 2; } ?> </body> </html> |
Resultado: |
0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, |
Exercício 3. Crie uma estrutura de repetição que imprima os números ímpares.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=1; while($x < 21) { echo $x.", "; $x=$x + 2; } ?> </body> </html> |
Resultado: |
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, |
Exercício 4. Crie uma estrutura de repetição que imprima os números múltiplos de 5.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=0; while($x <= 50) { echo $x.", "; $x=$x + 5; } ?> </body> </html> |
Resultado: |
0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, |
Exercício 5. Crie uma estrutura de repetição que conte de 110 até 120.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=110; while($x <= 120) { echo $x.", "; $x=$x + 1; } ?> </body> </html> |
Resultado: |
110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, |
Exercício 6. Crie uma estrutura de repetição que conte de 40 até 80 e ao mesmo tempo imprima números múltiplos de 8.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=40; while($x <= 80) { echo $x.", "; $x=$x + 8; } ?> </body> </html> |
Resultado: |
40, 48, 56, 64, 72, 80, |
Exercício 7. Crie uma estrutura de repetição que conte de 20 até 1 invertidamente.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=20; while($x >= 1) { echo $x.", "; $x=$x - 1; } ?> </body> </html> |
Resultado: |
20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, |
Exercício 8. Crie uma estrutura de repetição que conte de -10 até + 10 (números negativos e números positivos)
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=-10; while($x <= 10) { echo $x.", "; $x=$x + 1; } ?> </body> </html> |
Resultado: |
-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, |
Exercício 9. Crie uma estrutura de repetição que conte de -25 até -15.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=-25; while($x <= -15) { echo $x.", "; $x=$x + 1; } ?> </body> </html> |
Resultado: |
-25, -24, -23, -22, -21, -20, -19, -18, -17, -16, -15, |
Exercício 10. Crie um conjunto dos números múltiplos de 3 usando a estrutura de repetição while.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=0; while($x <= 30) { echo $x.", "; $x=$x + 3; } ?> </body> </html> |
Resultado: |
0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, |
Assim como a instrução For e a instrução while, vistos anteriormente, o loop invertido, ao contrário do comando while, é um bloco de comando que será executado pelo menos uma vez e será repetido até que a condição associada seja verdadeira.
Há situações em que é importante se garantir a execução de uma seqüência de comandos pelo menos uma vez. Veja o exemplo em Javascript:
<script language="javascript"> |
<<<Um Link para testar>>> |
Observe que, repetimos duas vezes o mesmo comando: "Digite o mês".
Podemos simplificar este comando somente uma vez, usando a estrutura de repetição do while .
do while é o loop invertido de while.
Usando o exemplo anterior iremos substituir o comando while pelo comando do , observe:
<script language="javascript"> |
<<<Um Link para testar>>> |
Para recriar este código Javascript para o código PHP seria uma operação impossível. A estrutura de repetição invertida (do while) também é usado no PHP. Veja exemplo:
Arquivo: teste.php | Arquivo: teste.php |
Loop Invertido | Loop não Invertido |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=1; do{ $x=$x+1; echo $x . ", "; }while ($x<=10) ?> </body> </html> |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=1; while ($x<=10){ $x=$x+1; echo $x . ", "; } ?> </body> </html> |
Mesmo Resultado: | Mesmo Resultado: |
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, |
Veja o exemplo abaixo:
Atenção, não teste este código!
Não teste este código
<?php
$Contador=0; $n=0;
while($Contador<=10){
echo $n . ", ";
$n=$n + 1;
}
?>
Se você entendeu os exemplos anteriores sobre os loops, deve perceber que existe um erro nesse exemplo. Como pode ver a condição do loop while refere-se à variável contador, mas essa variável realmente não se altera durante o loop. Isso crua um loop infinito. O loop continuará executando até que seja interrompido pelo usuário ou até gerar algum tipo de erro.
Os loops infinitos nem sempre podem ser interrompidos pelo usuário, exceto fechando o servidor , em alguns casos os loops infinitos podem até impedir que o servidor feche ou provocar uma pane no sistema.
Eles também podem ser difíceis de serem identificados, porque este tipo de código não lhe mostrará um erro dizendo que há um loop infinito. Mas não se preocupe, pois esse tipo de loop pode ser evitado, o que tem que fazer é: toda vez que for criar um loop em um script, você deve ter cuidado de certificar-se de que há uma saída.
Nota: Dependendo da versão do navegador em utilização, o loop infinito pode até mesmo fazer o navegador para de responder ao usuário. Certifique-se de fornecer uma rota de escape de loops infinitos e salvar seu script até testá-lo, em qualquer eventualidade.
Ocasionalmente, você pode querer criar um loop infinito. Isso talvez inclua situações em que você quer que seu programa execute até o usuário interrompê-lo ou em que fornece uma rota de escape com a instruçãobreak. Uma maneira de criar um loop infinito é o seguinte:
while(true) { ...}
Como o valor true é condicional, esse loop sempre encontrará sua condição como sendo verdadeira.
Há uma maneira de escapar de um loop infinito. Você pode utilizar a instruçãobreak(que significa parar) durante um loop para sair dele imediatamente e continuar a primeira instrução depois do loop. O exemplo abaixo mostra o uso dessa instrução.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $n=0; $total=0; while(true){ $n=$n + 1; $total=$total + $n; echo $total.", "; if($total >= 100){ break; } } ?> </body> </html> |
Resultado: |
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, |
Embora a instrução while esteja configurada como um loop infinito, a instrução if verifica o valor correspondente. Se total maior que 100, sai do loop.
Quando este tipo de código encontra uma instruçãobreak, ele pula o resto do loop e continua o script com a primeira instrução depois da chave de fechamento no final do loop. Você pode utiliza a instruçãobreakem qualquer tipo de loop, seja infinita ou não.
O comandoBreakinterrompe o comando while ou For que está sendo executado e transfere o controle do programa para o comando seguinte aquele que encerra o loop.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $i=0; while ($i<20) { $i=$i+1; if ($i==10) break; echo $i . ", "; } ?> </body> </html> |
Resultado: |
1, 2, 3, 4, 5, 6, 7, 8, 9, |
A declaração continue é usada quando não se quer executar nenhum dos comandos daquele ponto até o fim do bloco, mas queremos que o laço prossiga com a próxima interação. No caso do exemplo anterior, se i for 10, o laço se interrompe e o restante da matriz não será preenchido. Em lugar disto, podemos usarcontinueque não só salta o processo de atualização, mas salta além do calcula que iria provocar um erro. O seguinte código permite que o laço continue, mas salta todos os números ímpares.
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $k=0; while($k <= 20){ $k++ ; if(($k%2)!=0) continue; echo $k . ", "; } ?> </body> </html> |
Resultado: |
2, 4, 6, 8, 10, 12, 14, 16, 18, 20, |
Existem dois tipos de operadores incrementais o incremento (x++ ) e o decremento (x--)
O incremento (x++ ) aumenta o valor da variável em uma unidade, o decremento (x--) diminui o valor da variável em uma unidade, ou seja:
x++ é idêntico a x=x + 1
x-- é idêntico a x=x-1
Os operadores de incremento e decremento podem ser prefixos ou pós-fixos - isto é, podem ser colocados antes ( ++x) ou depois (x++); da mesma forma é o decremento (--x) igual a (x--), ou seja:
x++ é semelhante a ++x e
x-- é semelhante a --x.
Conclui-se da seguinte forma:
x++ ou ++x é idêntico a x=x + 1
x-- ou --x é idêntico a x=x-1
Veja o exemplo abaixo:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $a=2; echo 'Se a=2<br>'; $a++; echo 'O resultado de a++ é '. $a; $a=2; echo '<br>Se a=2<br>'; ++$a; echo 'O resultado de ++a é '. $a; ?> </body> </html> |
Resultado: |
Se a=2<br> O resultado de a++ é 3<br> Se a=2<br> O resultado de ++a é 3 |
O resultado da execução deste pequeno script é o seguinte:
Se a=2
O resultado de a++ é 3
Se a=2
O resultado de ++a é 3
Da mesma forma são os operadores decrementais a-- e --a, é só substituir + + por --; porém o resultado é 1.
Os operadores incrementais são muito usados em estruturas de repetições, tais como o For e o while. Exemplo:
Exemplo 1:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=1; while($x<=10){ echo $x.", "; $x++; } ?> </body> </html> |
Resultado: |
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, |
Exemplo 2:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $x=20; while($x >= 1){ echo $x.", "; --$x; } ?> </body> </html> |
Resultado: |
20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, |
Atenção programadores!!!
Em linguagens de programação tais como Java e o Javascript devemos ter cuidado na hora de usar operadores incrementais.
Quando colocamos uma variável e um outro operador de atribuição "=" na frente dos operadores incrementais + + e -- há uma sutil diferença:
A=x++
é diferente de
A= ++x
Imagine que variável x seja igual a 5. Nos dois casos o resultado de A deveria ser 6 nas duas operações.
Se:
Se: |
Se |
Esta sutileza sintática pode gerar pequenos erros de programação.
Da mesma forma é o operador decremental "--".
Se: |
Se |
Veja o exemplo na prática:
a=2 a=a++ Resultado de: a=2 |
a=2 a=++a Resultado de: a=3 |
a=2 a=a-- Resultado de: a=2 |
a=2 a=--a Resultado de: a=1 |
<<<Clique aqui para Download >> |
<?php $a=2; echo "a=2 <br>"; $a=$a++; echo "a=a++<br>"; echo "Resultado de: a = ".$a."<br>"; ?> |
<?php $a=2; $a=++$a; echo "a=2 <br>"; echo "a=++a<br>"; echo "Resultado de: a = ".$a; ?> |
<?php $a=2; echo "Incrementos <br>"; echo "a=2 <br>"; $a=$a--; echo "a=a--<br>"; echo "Resultado de: a = ".$a."<br>"; ?> |
<?php $a=2; $a=--$a; echo "a=2 <br>"; echo "a=--a<br>"; echo "Resultado de: a = ".$a; ?> |
O resultado da execução deste pequeno script é o seguinte:
a=2
a++=2
++a=3
Operadores de atribuição (semelhante aos operadores aritméticos) são símbolos usados pelo computador + , -, * , /, para efetuar cálculos matemáticos.
Veja tabela abaixo:
Nome | Operador | Utilização | Equivalente a |
Adição | += | a+=b | a=a + b |
Subtração | -= | a-=b | a=a-b |
Multiplicação | * = | a * =b | a=a * b |
Divisão | /= | a/=b | a=a/b |
Módulo | %= | a%=b | a=a%b |
Concatenação | .= | a.=b | a=a.b |
Veja os exemplos:
Arquivo: teste.php |
<html> // Exemplo 2: // Exemplo 3: // Exemplo 4: // Exemplo 5: // Exemplo 6: |
Resultado: |
5 3 16 4 1 texto 1 texto 2 |
Array é um conjunto de dados semelhantes (Como números, letras ou strings) armazenados com o mesmo nome. Aos dados é atribuído um número diferente no array.
Quando o array tem somente uma dimensão, é chamado de vetor.
A maioria das linguagens de programação pode armazenar e manipular matrizes de uma ou mais dimensões. As matrizes multidimensionais são muito usados em simulação científica e no processamento matemático; entretanto uma matriz pode ser apenas uma tabela de preços mantidas na memória para acesso instantâneo por um programa de entrada de pedido.
Os arrays se dividem em dois grupos: vetores e matrizes.
Vetores são arrays com uma dimensão.
Matrizes são arrays com mais de uma dimensão.
1 - Na horizontal
Exemplo de Array na Horizontal |
<?php $sexo= array("masculino", "feminino"); $numero=array(1, 2, 3, 4, 5, 6, 7, 8, 9); $vogais=array("A", "E", "I", "O", "U"); $Frutas=array("Banana", "Laranja", "Maçã", "Mamão"); $Cursos=array("Português", "Matemática", "Física", "Química", "Biologia", "Inglês", "Geografia", "História"); $estadocivil=array("solteiro", "casado", "divorciado", "viúvo"); ?> |
2 - Na vertical
Exemplo de Array na Vertical |
<?php $numero=array(); $vogais=array(); $Fruta=array(); $Cursos=array(); $estadocivil=array(); |
Exercício 1. Elabore um vetor vertical que contenha os dias da semana.
Arquivo: teste.php |
<html> echo 'Dias da semana: '; for ($x=0; $x <= 6; $x++ ) { |
Resultado: |
Dias da semana: Segunda, Terça, Quarta, Quinta, Sexta, Sábado, Domingo, |
Exercício 2. Elabore um vetor horizontal que contenha os meses do ano.
<?php
$mes=array("Janeiro", "Fevereiro", "Março", "Abril",
"Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro",
"Dezembro");
echo 'Mes do ano: ';
for($x=0; $x <= 11; $x++ ) {
echo $mes[$x] . ", ";
}
?>
Arquivo: teste.php |
<html> echo 'Mes do ano: '; for($x=0; $x <= 11; $x++ ) { |
Resultado: |
Mes do ano: Janeiro, Fevereiro, Março, Abril, Maio, Junho, Julho, Agosto, Setembro, Outubro, Novembro, Dezembro, |
Exercício 3. A partir da tabela abaixo, foram criados dois vetores de 6 posições: NOME e IDADE.
Nome | Idade | |
1 | Beatriz | 19 |
2 | Pedro | 32 |
3 | Cláudio | 23 |
4 | Susana | 27 |
5 | Marcos | 16 |
6 | Celina | 35 |
Com base nesta informação, diga o que será impresso pelas instruções abaixo:
Exemplo: |
<?php |
Solução:
Arquivo: teste.php |
<html> $Nome[0]="Beatriz"; for($i=0; $i<=5; $i++) { |
Resultado: |
Beatriz Marcos |
Exercício 4. A tabela abaixo contém o nome de algumas ruas e o bairro onde se localizam.
Rua | Bairro |
Mena Barreto | Botafogo |
Constança Barbosa | Méier |
Marechal Câmara | Centro |
Álvaro Ramos | Botafogo |
Cesário Alvim | Humaitá |
José Clemente | Niterói |
As instruções a seguir iniciam um programa que cria os vetores RUAS e BAIRROS. Escreva um programa de forma que ele imprima o nome das ruas do bairro de Botafogo.
Solução
Arquivo: teste.php |
<html> $bairros = array("Botafogo", "Méier", "Centro", "Botafogo", "Humaitá", "Niterói"); $x = 6; echo "Número total de bairros: " . $x . "<br>"; for($i=0; $i<=$x-1; $i++){ echo "<br>Ruas do bairro de Botafogo:<br>"; for($i=0; $i<=$x-1; $i++){ if($bairros[$i]=="Botafogo"){ } |
Resultado: |
Número total de bairros: 6 Rua: Mena Barreto, bairro: Botafogo Rua: Constança Barbosa, bairro: Méier Rua: Marechal Câmara, bairro: Centro Rua: Álvaro Ramos, bairro: Botafogo Rua: Cesário Alvim, bairro: Humaitá Rua: José Clemente, bairro: Niterói Ruas do bairro de Botafogo: Nome da rua: Mena Barreto Nome do bairro: Botafogo Nome da rua: Álvaro Ramos Nome do bairro: Botafogo |
Exercício 5. Faça um programa para imprimir o signo do zodíaco correspondente a uma data qualquer (dia / mês).
A tabela a seguir mostra o último dia de cada mês e o signo correspondente:
Mes | Último dia | Signo |
01 | 20 | Capricórnio |
02 | 19 | Aquário |
03 | 20 | Peixes |
04 | 20 | Áries |
05 | 20 | Touro |
06 | 20 | Gêmeos |
07 | 21 | Câncer |
08 | 22 | Leão |
09 | 22 | Virgem |
10 | 22 | Libra |
11 | 21 | Escorpião |
12 | 21 | Sagitário |
Importante: Armazene o horóscopo em uma array.
Arquivo: teste.php |
<html> echo 'Tabela de signos:<br><br>'; for($x=1; $x<=11; $x++){ |
Resultado: |
Tabela de signos: Aquário ultimo dia 19 / 2 Peixes ultimo dia 20 / 3 Áries ultimo dia 20 / 4 Touro ultimo dia 20 / 5 Gêmeos ultimo dia 20 / 6 Câncer ultimo dia 21 / 7 Leão ultimo dia 22 / 8 Virgem ultimo dia 22 / 9 Libra ultimo dia 22 / 10 Escorpião ultimo dia 21 / 11 Sagitário ultimo dia 21 / 12 |
Exercício 6. Faça um programa que imprima na tela a seguinte tabela abaixo:
Índice
|
Planeta
|
Luas
|
Anos
|
Distância
|
1
|
Mercúrio
|
0
|
0.024
|
58
|
2
|
Vênus
|
0
|
0.625
|
108
|
3
|
Terra
|
1
|
1
|
150
|
4
|
Marte
|
2
|
1.91
|
228
|
5
|
Júpiter
|
16
|
12
|
778
|
6
|
Saturno
|
18
|
29.9
|
1427
|
7
|
Urano
|
15
|
85.24
|
2869
|
8
|
Netuno
|
8
|
167.19
|
4498
|
9
|
Plutão
|
1
|
251.29
|
5900
|
<?php
$planeta=array();
$luas=array();
$anos=array();
$distancia=array();
$planeta[0]="Mercúrio";
$luas[0]=0;
$anos[0]=0.24;
$distancia[0]=58;
$planeta[1]="Vênus";
$luas[1]=0;
$anos[1]=0.625;
$distancia[1]=108;
$planeta[2]="Terra";
$luas[2]=1;
$anos[2]=1;
$distancia[2]=150;
$planeta[3]="Marte";
$luas[3]=2;
$anos[3]=1.91;
$distancia[3]=228;
echo 'Planeta luas anos distância<br><br>';
for($indice=0; $indice<=3; $indice++){
echo $planeta[$indice] ." ". $luas[$indice] ." ". $anos[$indice]. " ".
$distancia[$indice]."<br>";
}
?>
Arquivo: teste.php |
<html> $planeta[0]="Mercúrio"; echo 'Planeta luas anos distância<br><br>'; for($indice=0; $indice<=3; $indice++){ |
Resultado: |
Planeta luas anos distância Mercúrio 0 0.24 58 Vênus 0 0.625 108 Terra 1 1 150 Marte 2 1.91 228 |
Tente pensar no problema como uma tabela
Notas | Nota 1 | Nota 2 | Nota 3 |
Aluno01 | |||
Aluno02 | |||
Aluno03 | |||
Aluno04 | |||
Aluno05 |
Veja que esta tabela tem dois tipos de informação: Alunos e notas.
Por exemplo a 2ª nota do aluno 3, encontra-se no cruzamento entre a terceira linha com a segunda coluna, ou melhor, encontra-se no cruzamento entre a linha de índice 2 com a coluna de índice 1 , isto partindo do pressuposto que o índice da primeira linha é 0 e o índice da primeira coluna é também 0 .
Podemos transformar qualquer tabela em matriz.
A array multidimensional mostrado acima pode ser alocado de forma dinâmica. Veja a tabela abaixo:
Coluna 1 | Coluna 2 | Coluna 3 | |
Linha 1 |
a[0][0]
|
a[0][1]
|
a[0][2]
|
Linha 2 |
a[1][0]
|
a[1][1]
|
a[1][2]
|
Linha 3 |
a[2][0]
|
a[2][1]
|
a[2][2]
|
Linha 4 |
a[3][0]
|
a[3][1]
|
a[3][2]
|
Existem 4 formas de transformar uma tabela em matriz, veja o exemplo:
Cada aluno tem a sua nota, veja a tabela abaixo:
Notas | Nota 1 | Nota 2 |
Aluno01 |
7
|
7.5
|
Aluno02 |
6
|
5.5
|
Aluno03 |
7
|
8
|
Aluno04 |
3
|
7.5
|
Aluno05 |
4
|
4.5
|
Existem várias formas de transformar tabelas em matrizes. Vejamos o exemplo 01:
No 1º exemplo vamos transformar uma matriz de duas colunas em 2 vetores, veja:
Arquivo: teste.php |
<html> /* O exemplo acima não é uma matriz, mas sim, dois vetores vistos na lição anterior. Podemos substituir matrizes por vetores. Do exemplo 2 em diante, os vetores são substituídos por matrizes. */ // Para saber quanto o aluno 04 tirou na 2ª nota é fácil: echo $Nota2[4-1]; |
Resultado: |
7.5 |
Exemplo 02:
Do exemplo 2 em diante transformamos a tabela em matriz.
Arquivo: teste.php |
<html> // Para não dar erros eu criei 2 Arrays e não 4 Arrays diferentes $Classe[$Nota1][$Aluno01]=7; // Para saber quanto o aluno 05 tirou na 1ª nota é fácil: |
Resultado: |
7 7.5 6 5.5 7 8 3 7.5 4 4.5 |
Exemplo 03:
O exemplo 3 não usa as variáveis Aluno01, Aluno02, Aluno03, Nota1, Nota2, em seu código:
Arquivo: teste.php |
<html> // Para saber quanto o aluno 02 tirou na 2ª nota é fácil: |
Resultado: |
7 7.5 6 5.5 7 8 3 7.5 4 4.5 |
Exemplo 04:
O exemplo 04 é a forma abreviada de uma matriz
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $Classe= array( array(7, 7.5), array(6, 5.5), array(7, 8), array(3, 7.5), array(4, 4.5) ); // Para saber quanto o aluno 03 tirou na 1ª prova é fácil: for($y=0; $y<=4; $y++){ for($x=0; $x<=1; $x++){ echo $Classe[$y][$x]."<br>"; } } ?> </body> </html> |
Resultado: |
7 7.5 6 5.5 7 8 3 7.5 4 4.5 |
Lista de exercício:
Exercício 1. A partir da tabela abaixo, foram criados dois vetores de 6 posições: NOME e IDADE.
Nome | Idade | |
1 | Beatriz | 19 |
2 | Pedro | 32 |
3 | Cláudio | 23 |
4 | Susana | 27 |
5 | Marcos | 16 |
6 | Celina | 35 |
Com base nesta informação, diga o que será impresso pelas instruções abaixo:
Exemplo: |
<?php |
Solução 1:
Arquivo: teste.php |
<html> $Nome[0]="Beatriz"; for($i=0; $i<=5; $i++) { |
Resultado: |
Beatriz Marcos |
Solução 2:
Arquivo: teste.php |
<html> $Matriz=array(array(),array()); $Matriz[$nome][0]="Beatriz"; for($i=0; $i<=5; $i++){ |
Resulttado: |
Beatriz Marcos |
Solução 3:
Arquivo: teste.php |
<html> for($i=0; $i<=5; $i++){ |
Resultado: |
Beatriz Marcos |
Solução 4:
Arquivo: teste.php |
<html> <head> <title>teste.php</title> </head> <body> <?php $Matriz=array( array("Beatriz", 19), array("Pedro", 32), array("Cláudio", 23), array("Susana", 27), array("Marcos", 16), array("Celina", 35) ); for($i=0;$i<=5;$i++){ if($Matriz[$i][1]<20){ echo $Matriz[$i][0]." "; } } ?> </body> </html> |
Resultado: |
Beatriz Marcos |
Exercício 2. A tabela abaixo contém o nome de algumas ruas e o bairro onde se localizam.
Rua | Bairro |
Mena Barreto | Botafogo |
Constança Barbosa | Méier |
Marechal Câmara | Centro |
Álvaro Ramos | Botafogo |
Cesário Alvim | Humaitá |
José Clemente | Niterói |
As instruções a seguir iniciam um programa que cria os vetores RUAS e BAIRROS. Escreva um programa de forma que ele imprima o nome das ruas do bairro de Botafogo.
Solução
Arquivo: teste.php |
<html> $Criamatriz[0][0]="Mena Barreto"; for($i=0; $i<=5; $i++){ echo '<br>Ruas do bairro de Botafogo<br><br>'; for($i=0; $i<=5; $i++){ |
Resultado: |
Rua: Mena Barreto, bairro: Botafogo Rua: Constança Barbosa, bairro: Méier Rua: Marechal Câmara , bairro: Centro Rua: Álvaro Ramos , bairro: Botafogo Rua: Cesário Alvim , bairro: Humaitá Rua: José Clemente , bairro: Niterói Ruas do bairro de Botafogo Nome da Rua: Mena Barreto Nome do bairro: Botafogo Nome da Rua: Álvaro Ramos Nome do bairro: Botafogo |
Exercício 5. Faça um programa para imprimir o signo do zodíaco correspondente a uma data qualquer (dia / mês).
A tabela a seguir mostra o último dia de cada mês e o signo correspondente:
Mes | Último dia | Signo |
01 | 20 | Capricórnio |
02 | 19 | Aquário |
03 | 20 | Peixes |
04 | 20 | Áries |
05 | 20 | Touro |
06 | 20 | Gêmeos |
07 | 21 | Câncer |
08 | 22 | Leão |
09 | 22 | Virgem |
10 | 22 | Libra |
11 | 21 | Escorpião |
12 | 21 | Sagitário |
Importante: Armazene o horóscopo em uma array.
Arquivo: teste.php |
<html> echo 'Tabela de signos<br><br>'; for($x=0; $x<=11; $x++) { |
Resultado: |
Tabela de signos Capricórnio último dia 20 / 1 Aquário último dia 19 / 2 Peixes último dia 20 / 3 Áries último dia 20 / 4 Touro último dia 20 / 5 Gêmeos último dia 20 / 6 Câncer último dia 21 / 7 Leão último dia 22 / 8 Virgem último dia 22 / 9 Libra último dia 22 / 10 Escorpião último dia 21 / 11 Sagitário último dia 21 / 12 |
Exercício 6. Faça um programa que imprima na tela a seguinte tabela abaixo:
Índice
|
Planeta
|
Luas
|
Anos
|
Distância
|
1
|
Mercúrio
|
0
|
0.024
|
58
|
2
|
Vênus
|
0
|
0.625
|
108
|
3
|
Terra
|
1
|
1
|
150
|
4
|
Marte
|
2
|
1.91
|
228
|
5
|
Júpiter
|
16
|
12
|
778
|
6
|
Saturno
|
18
|
29.9
|
1427
|
7
|
Urano
|
15
|
85.24
|
2869
|
8
|
Netuno
|
8
|
167.19
|
4498
|
9
|
Plutão
|
1
|
251.29
|
5900
|
Arquivo: teste.php |
<html> $Planeta=0; $Matriz[$Planeta][0]="Mercúrio"; echo 'Planeta luas anos distância<br><br>'; for($indice=0; $indice<=3; $indice++){ |
Resultado: |
Planeta luas anos distância Mercúrio 0 0.24 58 Vênus 0 0.625 108 Terra 1 1 150 Marte 2 1.91 228 |
Função é um subprograma de linguagem de computador que faz alguns cálculos e retorna um único valor para o programa principal.
Exemplo:
Arquivo: teste.php |
<html> // Programa |
Resultado: |
6 |
O comando returné uma instrução que encerra o processamento de uma função e transfere o controle de volta ao módulo que o chamou, e (opcionalmente) especifica o valor da função.
A função acima retornou o valor que é 6.
Uma função pode retornar ou não poder retornar valores, basta não usar a instrução return.
Exemplo:
Arquivo: teste.php |
<html> // Programa principal |
Resultado: |
6 |
O exemplo acima a função não retornou valores.
Em um único programa pode ser armazenado várias funções diferentes, por exemplo:
Arquivo: teste.php |
<html> function Subtracao($a, $b) { function Multiplicacao($a, $b) { function Divisao($a, $b){ // Programa principal |
Resultado: |
2 + 8=10 7-3=4 3 * 4=12 8/2=4 |
Lista de exercícios
Exercício 1. Crie uma função que calcule a soma de dois números
Arquivo: teste.php |
<html> //Programa principal |
Resultado: |
A soma de 5 e 4 é 9 |
Exercício 2. Crie uma função que calcule o cubo de um número.
<?php
function cubo($x){
$cubo=$x * $x * $x;
return $cubo;
}
// Programa principal
echo 'O cubo de 8 é igual a ' . cubo(8);
?>
Arquivo: teste.php |
<html> // Programa principal |
Resultado: |
O cubo de 8 é igual a 512 |
Exercício 3. Crie uma função que calcule a área do retângulo
Arquivo: teste.php |
<html> // Programa principal |
Resultado: |
32 |
Exercício 4. Crie uma função que calcule números fatoriais
Arquivo: teste.php |
<html> // Programa principal for($k=1; $k<=10; $k++){ |
Resultado: |
1!=1 2!=2 3!=6 4!=24 5!=120 6!=720 7!=5040 8!=40320 9!=362880 10!=3628800 |
Afinal o que Null?
1 - Null é um valor que indica dados ausentes ou desconhecidos em um campo
2 - nulo
3 - vazio
4 - sem valor
Assim como existe variáveis numéricas (var_1=9), variáveis strings (var_2="Texto") e variáveis booleanas (var_3=true) existem as variáveis nulas (var_4=null).
Atenção: encontrar variáveis nulas num código fonte são raros, mas de vez enquanto aparecem, os exemplos abaixo são simplesmente demonstrações.
Quando você que limpar uma variável em faço o seguinte:
1º exemplo:
Arquivo: teste.php |
<html> //Limpando as variáveis if ($Var_2==null){ |
Resultado: |
null |
2º exemplo:
Arquivo: teste.php |
<html> if($Nome==null) { if($Sobrenome==null){ echo $Nome . ' ' . $Sobrenome; ?> |
Resultado: |
Marcos Aurelio |
3º exemplo:
Arquivo: teste.php |
<html> $resp=0; |
Resultado: |
15 |
O Javascript possui um conjunto bastante vasto de funções com aplicação específica.
As funções são muito vantajosas para o usuário, pois permitem diminuir o tempo gasto na elaboração de formulários, assim como eventuais erros na sua concepção.
As funções do Javascript agrupam-se em:
As funções do Javascript tem a seguinte sintaxe:
= nomedafunção(argumentos) |
Os tipos de argumentos variam de função para função e em relação às necessidades de cálculo do usuário.
Os tipos de argumentos mais utilizados são: variáveis numéricas, variáveis strings, variáveis booleanas, arrays e propriedades.
Exemplos (teóricos) de funções:
Inicio
escreva( Potencia(2, 6) )
escreva( Soma(12, 36) )
escreva( Media(8, 3) )
Fim
Para auxiliar os cálculos matemáticos, além dos operadores matemáticos de adição, subtração, multiplicação e divisão existem outras funçoes matemáticas.
Algumas funções são comuns, tais como: raiz quadrada, potênciação, módulo, etc. Outras exigem conhecimento a nível de 2º grau tais como: trigonometria e logarítmos.
Vejamos
Covertendo string para numérica
O PHP não há conversores de string para numérica, exemplo:
<?php
$A = "8"; // String
$B = 2; // Numérica
$C = "10"; // String
$D = 5; // Numérica
echo "Resultado ". ($A*$B-$C/$D);
?>
Arredondando valores
<?php
echo floor(4.3); // 4
echo floor(9.999); // 9
echo ceil(4.3); // 5
echo ceil(9.999); // 10
echo
round(3.4); // 3
echo
round(3.5); // 4
echo
round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2); // 5.04
echo round(5.055, 2); // 5.06
?>
Funções matemáticas comuns
<?php
echo mt_rand(); // número aleatório
$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5); // $abs2 = 5; (inteiro)
$abs3 = abs(-5); // $abs3 = 5; (inteiro)
echo max(1, 3, 5, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
echo min(2, 3, 1, 6, 7); // 1
echo min(array(2, 4, 5)); // 2
echo pow(2,8); // 256
echo pow(-1,20); // 1
echo pow(0, 0); // 1
echo pow(-1, 5.5); // erro
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>
Funções trigonométricas
Calculando o seno, cosseno e tangente pelo computador
Se o argumento estiver em graus, multiplique-o por PI()/180 ou use a função radianos() para convertê-lo em radianos.
Exemplo:
<?php
function radianos(){
return M_PI/180;
}
echo "<br>".sin(M_PI); // O seno de radianos de pi(0,
aproximadamente). Resultado: 1.2246063538224E-016
echo "<br>".sin(M_PI/2); // O seno de radianos de pi/2 (1).
Resultado: 1
echo "<br>".sin(30*M_PI/180); // O seno de 30 graus (0,5).
Resultado: 0.5
echo "<br>".sin(30*radianos()); // O seno de 30 graus (0,5).
Resultado: 0.5
echo "<br>".cos(60*M_PI/180); // O cosseno de 60 graus (0,5).
Resuntado: 0.5
echo "<br>".cos(60*radianos()); // O cosseno de 60 graus (0,5).
Resultado: 0.5
echo "<br>".tan(45*M_PI/180); // A tangente de 45 graus (1).
Resultado: 1
echo "<br>".tan(45*radianos()); // A tangente de 45 graus (1).
Resultado: 1
?>
Calculando o arco seno, arco cosseno e arco tangente pelo computador
Retorna o arco seno ou o seno inverso de um número. O arco seno é o ângulo cujo seno é núm. O ângulo retornado é fornecido em radianos; o mesmo para arco cosseno e arco tangente.
Para expressar o arco seno em graus, multiplique o resultado por 180/PI( ) ou use a função graus().
<?php
function graus() {
return 180/M_PI;
}
echo "<br>".round(asin(0.5)*180/M_PI); // O arco seno de 0,5
em graus é 30
echo "<br>".round(asin(0.5)*graus()); // O arco seno de 0,5 em
graus é 30
echo "<br>".round(acos(-0.5)*180/M_PI); // O arco cosseno de
-0.5 em graus é 120
echo "<br>".round(acos(-0.5)*graus()); // O arco cosseno de -0.5
em graus é 120
echo "<br>".round(atan(1)*180/M_PI); // O arco tangente de 1
em graus é 45
echo "<br>".round(atan(1)*graus()); // O arco tangente de 1 em
graus é 45
?>
Logarítmos
As constantes listadas abaixo estão sempre disponíveis como parte do núcleo do PHP.
Tabela 1. Constantes matemáticas
Constante | Valor | Descrição |
---|---|---|
M_PI | 3.14159265358979323846 | Pi |
M_E | 2.7182818284590452354 | e |
M_LOG2E | 1.4426950408889634074 | log_2 e |
M_LOG10E | 0.43429448190325182765 | log_10 e |
M_LN2 | 0.69314718055994530942 | log_e 2 |
M_LN10 | 2.30258509299404568402 | log_e 10 |
M_PI_2 | 1.57079632679489661923 | pi/2 |
M_PI_4 | 0.78539816339744830962 | pi/4 |
M_1_PI | 0.31830988618379067154 | 1/pi |
M_2_PI | 0.63661977236758134308 | 2/pi |
M_SQRTPI | 1.77245385090551602729 | raiz_quadrada(pi) [4.0.2] |
M_2_SQRTPI | 1.12837916709551257390 | 2/raiz_quadrada(pi) |
M_SQRT2 | 1.41421356237309504880 | raiz_quadrada(2) |
M_SQRT3 | 1.73205080756887729352 | raiz_quadrada(3) [4.0.2] |
M_SQRT1_2 | 0.70710678118654752440 | 1/raiz_quadrada(2) |
M_LNPI | 1.14472988584940017414 | log_e(pi) [4.0.2] |
M_EULER | 0.57721566490153286061 | Constante de Euler [4.0.2] |
Manipulando Strings
O Javascript é bastante poderoso no manuseio de Strings, fornecendo ao programador uma total flexibilidade em seu manuseio.
Abaixo apresentamos os métodos disponíveis para manuseio de strings.
crypt(senha, código encriptado) |
crypt() retornará uma string criptografada usando o algoritmo de encriptação ou algoritmos alternativos disponíveis no sistema. Exemplo: if (crypt("MinhaSenha", $senha) == $senha) { Resultado: |
|||
strlen(texto) |
Retorna o comprimento de uma String. Exemplo: Resultado: |
|||
substr(texto, indiceInicial, indiceFinal) |
O método substr(subcadeia) retorna a cadeia que se estende do indice Inicial até o caractere logo antes de indice final. Exemplo: Resultado: Exemplo 1. Uso basico de substr()
Exemplo 2. Usando um inicio negativo
Exemplo 3. Usando um length negativo
|
|||
$Variável_Texto[$Array_posição] |
Funciona da mesma forma que o substr, só que, retorna um caractere simples em uma posição específica na String. Exemplo: for($posicao=0; $posicao<=strlen($texto)-1; $posicao++){ Resultado: |
|||
substr_count(texto, subtexto) |
Conta o número de ocorrências de uma substring Exemplo: Resultado: |
|||
str_replace(palavra, substituto, texto) |
A função str_replace você insere uma palavra ou uma letra em que você deseja substituir por outra. Exemplo: // Resultado: $frase = "você comeria frutas, vegetais, e fibra todos os
dias<br>"; echo str_replace($saudavel, $saboroso, $frase); // Resultado: |
|||
strtolower(para minúsculo) |
A função strtolower (para minúsculo) retorna a cadeia com todos os caracteres alterados para minúsculo. Exemplo: Resultado: |
|||
strtoupper(para maiúsculo) |
A função strtoupper (para maiúsculo) retorna a cadeia com todos os caracteres alterados para maiúsculo. Exemplo: Resultado: |
|||
ucfirst(texto) |
Retorna a string fornecida com o primeiro caracter convertido para letra maiúscula. Exemplo: Resultado: |
|||
ucwords(texto) |
Retorna a string fornecida com todas as palavras iniciadas por letras maiúsculas. Exemplo: Resultado: |
|||
strrev(Texto) |
Retorna a string fornecida invertida. Exemplo: Resultado: |
|||
trim(espaço+texto+espaço) |
Retira espaços e linhas em branco do início e do final da string fornecida. Exemplo: Resultado: |
|||
chop(texto+espaço_direito) |
Retira espaços e linhas em branco do final da string fornecida. Exemplo: Resultado: |
|||
ltrim(expaço_esquerdo+texto) |
Retira espaços e linhas em branco do final da string fornecida. Exemplo: Resultado: |
Existe apenas uma função para que se possa obter a data e a hora. É a função date(). Esta funão devolve data e hora no formanto: Dia da semana, Nome do mês, Dia do mês, Hora:Minuto:Segundo e Ano
Para se obter os dados separadamente, existem as seguintes função:
No exemplo 1 abaixo obteremos o dia da semana e as horas. Para tal, utilizaremos a variável DataToda para armazenar data e hora.
<?php
$Dia_do_mes=date('d');
$Dia_da_semana=date('w');
$Mes=date('n');
$Ano=date('Y');
// ---------------------------------------
$Horas=date('G');
$Minutos=date('i');
$Segundos=date('s');
// ---------------------------------------
$semana = array();
$semana[0]="Domingo";
$semana[1]="Segunda";
$semana[2]="Terça";
$semana[3]="Quarta";
$semana[4]="Quinta";
$semana[5]="Sexta";
$semana[6]="Sabado";
$Semana_atual=$semana[$Dia_da_semana];
//-------------------------
$Mes2=array();
$Mes2[0]="";
$Mes2[1]="Janeiro";
$Mes2[2]="Fevereiro";
$Mes2[3]="Março";
$Mes2[4]="Abril";
$Mes2[5]="Maio";
$Mes2[6]="Junho";
$Mes2[7]="Julho";
$Mes2[8]="Agosto";
$Mes2[9]="Setembro";
$Mes2[10]="Outubro";
$Mes2[11]="Novembro";
$Mes2[12]="Desembro";
$Mes_atual=$Mes2[$Mes];
echo $Semana_atual.", ".$Dia_do_mes." de ".$Mes_atual." de ".$Ano;
echo "<br>";
echo "São: ".$Horas." horas, ".$Minutos." minutos e ".$Segundos."
segundos.";
?>
exemplo 4: alterando a data
Para criar uma variável tipo Date com o conteúdo informado pela aplicação, existe o métido set. Assim temos os seguintes métodos: setDate, setDay, setMonth, setYear, setHours, setMinutes e setSeconds. Os mas importantes são:
<script language="javascript">
DataToda=new Date()
DataToda.setDate(28)
DataToda.setMonth(4)
DataToda.setYear(1997)
// ---------------------------------------
Dia_do_mes=DataToda.getDate()
Dia_da_semana=DataToda.getDay()
Mes=DataToda.getMonth()
Ano=DataToda.getFullYear()
// ---------------------------------------
semana = Array(6)
semana[0]="Domingo"
semana[1]="Segunda"
semana[2]="Terça"
semana[3]="Quarta"
semana[4]="Quinta"
semana[5]="Sexta"
semana[6]="Sabado"
Semana_atual=semana[Dia_da_semana]
//-------------------------
Mes2=Array(11)
Mes2[0]="Janeiro"
Mes2[1]="Fevereiro"
Mes2[2]="Março"
Mes2[3]="Abril"
Mes2[4]="Maio"
Mes2[5]="Junho"
Mes2[6]="Julho"
Mes2[7]="Agosto"
Mes2[8]="Setembro"
Mes2[9]="Outubro"
Mes2[10]="Novembro"
Mes2[11]="Desembro"
Mes_atual=Mes2[Mes]
document.write(Semana_atual+", "+Dia_do_mes+" de "+Mes_atual+" de "+Ano)
</script>
exmeplo 3: vendo as horas
<?php
$hora = date('G');
$minuto = date('i');
$segundo = date('s');
$temp = $hora;
$temp .= (($minuto < 10) ? ":0" : ":") . $minuto;
$temp .= (($segundo < 10) ? ":0" : ":") . $segundo;
echo "São exatamente: ".$temp;
?>
Para interromper a execução do programa que está sendo executado use o comando exit, exemplo:
(...)
if($db==true){
echo "O banco de dados foi criado.";
} else {
echo "Erro: o banco de dados não foi criado. Veja sintaxe!";
exit;
}
(....)
Bem, essa função serve para pegar o tamanho da imagem. Por exemplo, você quer que seu site tenha um sistema de upload e quer limitar o tamanho das imagens que os usuários vão enviar.
<?php
function TamanhodaImagem($imagem) {
$tam_img = getimagesize($imagem);
print 'Largura da Imagem: ' .$tam_img[0]. '<br />';
print 'Altura da Imagem: ' .$tam_img[1]. '.';
}
?>
Modo de usar:
<?php
TamanhodaImagem("imagem.jpg");
?>
O que são cookies?
- Cookies são arquivos-texto (espiões) que são abertos (criados) no computador de usuários para se recuperar dados de qualquer página, os cookies podem ser vistos pelos donos das máquinas, e ser editado (possivelmente) por eles, mas, isso não é um grande problema pois podemos (pelo PHP) ver se os cookies são válidos (caso queiramos validá-los), o problema é que existem navegadores como o IE e o NetsCape que proibem a entrada destes arquivos em um computador, o ideal seria o uso de Sessions mesmo com suas desvantagens
O que podemos fazer com o cookies?
- Com os cookies pode ser feito "TUDO" que sua imaginação permitir, mas as principais causas que eles são utilizadas são:
- Verificar se um usuário já logou no site (isto é, validar se o
cookie existe no computador)
- Verificar se um usuário já votou na enquete do site ( || )
- Carrinho de compras para armazenar os produtos comprados
Criando cookies com o php
- Criar um cookie com o php é muito simples, a sintaxe básica da
criação é:
setcookie("nome_do_cookie", "valor_do_cookie");
Lembrando que este trecho deve estar no inicio do código da página, até
mesmo antes de TAGS HTML.
O cookie criado será "excluído" automaticamente, ao se fechar o Browser
Para criar um cookie válido por 48 horas fazemos:
<?
setcookie("usuário", $user, time()+172800);
?>
O cookie criado tem o nome de Usuário com o valor $user, que seria
Rafael (vamos supor que tenha o valor de rafael) e será excluído depois
de 48 horas que ficar no computador do usuário (48 horas são iguais a
172800 segundos), mesmo com o fechamento do browser!
Excluindo um cookie com php
- Para se excluir um cookie com PHP antes do tempo determinado ou
antes do fechamento do browser, fazemos o seguinte (supondo que
queremos excluir o cookie usuário):
setcookie("usuário");
O comando setcookie também exclui um cookie, mas para exluir-mos
devemos colocar somente o nome do cookie e não o seu valor, por isso
tome cuidado, se quiser criar um cookie NULO (sem valor) fazemos o
seguinte:
setcookie("usuário", "");
Seria criado o cookie usuário com o valor nulo!
Podemos também excluir um cookie por uma variável (para se excluir
um cookie também deve estar no topo da pagina o setcookie) por exemplo,
vamos dar o nome cookie pra um campo de texto, o usuário digita no
campo "uusário" para deletar-mos o cookie com o nome digitado no campo
fazemos o seguinte:
setcookie($usuario);
Abrindo cookies com o PHP
- Para abrir um cookie no PHP usamos o array superglobal $_COOKIE,
entre chaves e aspas o nome do cookie! para ler-mos um cookie (com o
nome idade, supondo que ele tenha o valor 21) fazemos o seguinte:
$_COOKIE["idade"];
Para exibir o conteudo dele com php fazemos:
<?
echo "O valor do cookie é:" . $_COOKIE["idade"];
?>
OU
<?
echo $_COOKIE["idade"];
?>
Isso seria útil para ver se uma senha estivesse de acordo com o usuário ou se existe um registro em um banco de dados ou file TXT com a idade 21!
Verificando se um cookie existe
- A sintaxe para descobrir se um cookie existe é a segiunte:
if(isset($_COOKIE["nome"]))
Para verificar-mos se um cookie existe com php fazemos:
<?
$nome_do_cookie = "nome";
if(isset($_COOKIE[$nome_do_cookie]))
{
echo "O cookie $nome_do_cookie existe! ";
}
else
{
echo "O cookie $nome_do_cookie não existe!";
}
?>
Se o cookie não existisse seria mostrada a mensagem: O cookie nome não existe, e se existisse apareceria: O cookie nome não existe!
Criando cookies com caminho, dominio e seguro
- Para se criar um cookie com o nome IDADE com segurança (a página
deve ser HTTPS e no cookie deve ter um valor 1), com um caminho
específico do dominio que o cookie estará válido, e um domínio
específico, válido por 48 horas fazemos:
setcookie("idade", "21", time()+172800, "/dir", "www.google.com.br",
"1");
Criamos um cookie com o nome "idade" com o valor 21 válido por 48 horas, válido somente para o diretório /dir com o domínio google e com uma conexão segura (melhor, pois o IE aceita mais cookies seguros), pois utilizamos o valor 1 que indica que o cookie é seguro se fosse utilzado 0 ele seria inseguro, isso seria muito útil caso quisesse enviar cookies seguros com HTTPS ou cookies válidos só para o diretório "user" por exemplo!
Arquivo: cookie_1.php |
<?php setcookie("idade", "21",
time()+172800); ?> <html> <head> <title>Untitled Document</title> </head> <body> Enviando um Cookie<br><br> <a href="cookie_2.php">Enviar</a> </body> </html> |
Arquivo: cookie_2.php |
<html> <head> <title>Untitled Document</title> </head> <body> Abrindo o Cookie<br><br> <?php echo "O valor do cookie é: <font color=#FF0000>" . $_COOKIE["idade"] . "</font>"; ?> <br><br><a href="cookie_1.php">Voltar</a> <br><br>Fechando o cookie </body> </html> <? setcookie("idade"); ?> |
Segue abaixo um exemplo simples de upload via PHP.
Arquivo: arquivo.html |
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Upload de Imagens</title> </head> <link rel="stylesheet" href="estilo.css"> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <b>Enviar um novo ficheiro: </b> <br> <input name="arquivo_upload" type="file"> <br> <input type="submit" value="Enviar"> </form> </body> </html> |
Arquivo: upload.php |
<html> <body> $arquivo_tmp = $_FILES['arquivo_upload']['tmp_name']; $nome_do_diretorio = "pasta1/"; $destino = $nome_do_diretorio.$nome_do_arquivo; //veja se as características do arquivo são as desejadas |
A idéia é simples, você roda a função com a URL e o tempo e o php redireciona para você.
Arquivo: index.php |
<?php redirecionar("teste.html", 0); ?> |
Arquivo: teste.html |
<html> <head> <title>Página Redirecionada</title> </head> <body> <h1 align="center">Página Redirecionada</h1> <h1 align="center">;-)</h1> </body> </html> |
Observação:
redirecionar('login.php',
0); // Redireciona imediatamente
redirecionar('login.php', 10); // Redireciona depois de 10 seg
Após a criação desse arquivo, hospedem ele em seu servidor visualize ele em seu browser. Se ao abrir o arquivo, nenhuma mensagem aparecer você tem suporte a função mail do PHP e pode criar um formulário, se aparecer alguma mensagem de erro vocês não poderão criar o formulário. A imagem a seguir mostra o erro que é exibido pelo PHP quando não tem suporte a função mail.
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini custom "From:" header missing.
Vocês podem estar se perguntando, porque tem servidor que não dá suporte a função mail do PHP. Simples, controle contra SPAM. Existem vários usuários que aproveitam para ficar enviando mensagens sem que nós tenhamos conheciment
Nome do Arquivo: email.php |
<html> $email_do_destinatatio = "fulano@seudominio.com"; $assunto = "Olá, mundo!"; $mensagem = " $cabecalho = "MIME-Version: 1.0 \r\n if (mail($email_do_destinatatio, $assunto, $mensagem,
$cabecalho)) { |
Você já deve ter pensado como criar um subdominio local para apenas
facilitar sua vida com paths, seja ele absulto ou não, bom isso se
chama Virtual Host.
Eu particularmente falando, uso um alias de “localhost”
que chamo de “webserver” ou seja, os dois levam ao
mesmo lugar.
Como todos aqui sabem (ou deveriam saber) localhost é um nome de
dominio local do computador, que remete ao ip 127.0.0.1, o que vamos
fazer é apenas dizer ao Apache como entender um subdominio e para qual
pasta deverá redirecionar.
1º passo: Localizar o arquivo “httpd-vhosts.conf” do Apache, fica na pasta da instalação do Apache dentro da pasta “conf\extra“.
C:\xampp\apache\conf\extra\httpd-vhosts.conf |
NameVirtualHost webserver:80 |
2º Passo: Localize o “hosts” ele fica em “C:\Windows\System32\drivers\etc“, abra com o bloco de notas mesmo.
3º Passo: Adicione a linha do seu subdominio ao hosts, você vai ver que deve existir algum redirecionamento ai, ex: “localhost 127.0.0.1″ caso não tenha, não se desespere, como disse, eu adicionei um alias próprio que chamei de webserver, logo, no meu arquivo está assim:
C:\Windows\System32\drivers\etc\hosts |
127.0.0.1 localhost |
4º Passo: na pasta subdomínio, inseri um arquivo “index.htm“, para fazer o teste.
C:\xampp\htdocs\subdominio\index.html |
<html> |
Depois, salve tudo e inicie seu Apache, confira, deve funcionar sem problemas!
Exemplos de Url Amigáveis tipo twitter
.
www.meusite.com/jorgeluiz
.
www.meusite.com/flavia
.
www.meusite.com/janaina
.
O que vai aconter é... quando digitar www.meusite.com/usuario
vai redirecionar para www.meusite.com/users.php?id=usuario,
lá vc pega o usuário como $_GET['usuario']... mas se digitar www.meusite.com/images
ou /css ou /js, estas pastas são ignoradas pelo RewriteRule... no caso
no RewriteCond coloque todas as pastas que serão visíveis aos
usuários...
Arquivo: .htaccess |
Na pasta: nome Url: http://localhost/nome/teste |
RewriteEngine on RewriteCond $1 !(images|css|js) [NC] RewriteRule ^([a-z0-9]+)\/?$ /nome/users.php?id=$1 [NC] |
Arquivo: users.php |
Na pasta: nome |
<html> <head> <title>teste</title> </head> <body> <?php $variavel1 = $_GET['id']; echo $variavel1."<br>"; ?> </body> </html> |
Arquivo: index.html |
<html> <head> <title>Url Javascript</title> </head> <body> <script language="javascript"> function Encode(){ teste = document.form1.teste1.value; teste = encodeURIComponent(teste); alert("Encode: "+teste); teste = decodeURIComponent(teste); alert("Decode: "+teste); } function Link(){ teste = document.form1.teste1.value; location.href = "http://localhost/url/index.php?teste=" + encodeURIComponent(teste); } </script> <form name="form1"> <input name="teste1" onClick="Encode()" type="button" Value="João, freqüência, átomo, @" /><br /> <a href="javascript: Link()">Link</a> </form> </body> </html> |
Arquivo: index.php |
<html> <head> <title>Url PHP</title> </head> <body> <p> <font color="red">utf8_decode + urldecode: João, freqüência, átomo, @</font><br /> <?php $teste = $_GET['teste']; $teste2 = $teste; $teste = utf8_decode(urldecode($teste)); echo $teste ."<br>\n"; ?> <font color="red">htmlentities: Jo&atilde;o, freq&uuml;&ecirc;ncia, &aacute;tomo, @</font><br /> <?php $teste = htmlentities($teste); echo $teste ."<br>\n"; ?> </p> </body> </html> |