Cap. 1 - Introdução ao PHP
1.2 - Introdução aos Conceitos da Linguagem
Objetivo: Apresentar conceitos básicos da linguagem: Variáveis, Operadores, Decisões e Repetições.Conteúdo da Aula:
- 1.Comandos de Saída
- 2. Variáveis
- 3. Strings
- 4. Operadores
- 5. Decisões
- 6. Outros Operadores
- 7. Exemplos
- 8. Exercícios
Introdução
Estrutura de uma Linguagem de Programação
Na aula anterior vimos que um linguagem pode ser estruturada a partir de 5 grandes categorias, como mostrado na figura abaixo.
1. Comandos de Saída
Como visto na aula anterior, o comando mais imediato para a saída de dados é o comando echo.
Além dele temos os comandos:- print(): é uma função usada para mostrar uma string. Exemplo print('teste')
- var_dump: é uma função usada para mostrar o conteúdo de uma variável de forma explicativa.
- print_r: semelhante a var_dump, mas num formato diferente
2. Variáveis
PHP possui os tipos de variáveis numérico, string e booleano. Mais adiante no curso veremos alguns outros tipos.
Regra do PHP:Em PHP TODAS as variáveis começam com o símbolo $.
A forma correta de se atribuir uma valor parar uma variável em PHP é.
<?php
$nome_var = valor;
?>
Se o caracter $ não estiver presente, a atribuição
não será válida. Veja no exemplo abaixo, a
criação de uma variável string e outra variável numérica.<?php
$txt = "Hello World!";
$number = 16;
?>
Variáveis Tipo Booleano
O tipo booleano expressa um valor lógico, que pode ser verdadeiro ou falso. O PHP possui as palavras chave TRUE e FALSE.
Variáveis Tipo Numérico
Números podem ser especificados na base 10, base 16 (hexadecimal) ou base 8 (octal). Veja os exemplos a seguir.
<?php $a=4321; //decimal $b=04321; //octal $c=0x1A; //hexadecimal $d=1.2345; //ponto flutuante (float) $e=3e12;//notacao cientifica ?>
Variáveis Tipo String
Como dito anteriormente uma string é uma cadeia de caracteres. Em PHP essa cadeia de caracteres pode ser definida usando-se aspas simples '' ou aspas duplas " ".Arrays
Além das variáveis "simples" (que guardam um valor apenas), existem em PHP os arrays (vetores e matrizes), que são variáveis multidimensionais. Em PHP uma forma de se definir um array é utilizando a palavra reservada array. Veja o exemplo a seguir. O que aparecerá na saída?
<?php
$dias_semana = array('domingo','segunda','terca','quarta','quinta','sexta','sabado');
echo $dias_semana[1];
?>
Mais sobre arrays
Em PHP os arrays são indexados usando-se [ ]. Assim um array bi-dimensional 5 X 5 será denotado por:
Os índices desse array (que é uma matriz de duas dimensões, 5 linhas, 5 colinas e 25 posições) vão de 0,0 até 4,4.
Outros Tipos
Tipo NULL
Uma váriavel que teve seu valor definido como NULL é uma variável sem valor. Ela pode ser usado em testes condicionais.
Constantes
Obviamente uma constante não sofre alteração em seu valor durante a execução do programa. Em PHP elas são definidas com a palavra reservada define.
Veja o exemplo a seguir.
<?php
define("MAXIMO",100);
echo MAXIMO;
?>
Observações:
- Em PHP uma variável não precisa ser declarada antes de ser usada. Elas são DECLARADAS AUTOMATICAMENTE.
- Não é preciso, portanto, dizer de qual "tipo é a variável" (ao contrário do C, que necessita que declaremos a variável)
- PHP automaticamente converte a variável para o tipo correto.
- O PHP é case-sensitivive, isto é, "sensível ao caso" o que significa que ele distingue maiscúlas de minúsculas. Portanto a variável $x é diferente da variável $X.
- Como veremos no próximo item, é possível CONCATENAR variáveis.
Veja o trrecho de programa abaixo. Repare na utilização da concatenação e do operador -. Veremos mais detalhes adiante no nosso curso.
<?php $txt1="Olá alunos!"; $txt2="Não durmam na aula!"; echo $txt1 . " " . $txt2;
?>
3. Strings
Como você sabe string é uma seqüência de caracteres.
Assim como na linguagem C, o PHP possui funções para realização de tarefas específicas, como por exemplo, para manipular strings.
No exemplo anterior, foram criadas duas strings, que foram concatenadas para formar uma frase.
Funções para Trabalhar com Strings em PHP
Como você também já sabe, função em programação é um programa que executa uma dada tarefa, geralmente recebendo parâmetro(s) de entrada e fornecendo parâmetro(s) de saída (ou simplesmente execuntando uma tarefa).
Algumas funções são enumeradas a seguir.
-
Função strlen(): retorna o comprimento da string
-
Função strpos(): retorna a posição de um dado caracter ou string
-
Função strcmp(): compara duas strings
-
Função trim(): elimina espaços
Veja a referência completa para as funções que trabalham com string clicando aqui
4. Operadores
Como toda linguagem, PHP também possui uma classe de operadores, que são usados em operações matemáticas (operadores aritméticos), operações de atribuição (operadores de atribuição), operações de comparação (operadores lógicos) e operações lógicas (operadores lógicos).A seguir são listados esses operadores, agrupados por categorias.
Operadores Aritméticos
| Operador | Descrição | Exemplo | Resultado |
|---|---|---|---|
| + | Adição | $x=2 $x+2 |
4 |
| - | Subtração | $x=2 5-$x |
3 |
| * | Multiplicação | $x=4 $x*5 |
20 |
| / | Divisão | 15/5 5/2 |
3 2.5 |
| % | Resto da divisão inteira | 5%2 10%8 10%2 |
1 2 0 |
| ++ | Incremento | $x=5 $x++ |
$x=6 |
| -- | Decremento | $x=5 $x-- |
$x=4 |
Operadores de Atribuição
| Operador | Exemplo | É o mesmo que |
|---|---|---|
| = | $x=$y | $x=$y | http://www.php.net/manual/pt_BR/language.operators.php
| += | $x+=$y | $x=$x+$y |
| -= | $x-=$y | $x=$x-$y |
| *= | $x*=$y | $x=$x*$y |
| /= | $x/=$y | $x=$x/$y |
| .= | $x.=$y | $x=$x.$y |
| %= | $x%=$y | $x=$x%$y |
Operadores de Comparação
| Operador | Descrição | Exemplo |
|---|---|---|
| == | é igual a | 5==8 retorna falso (FALSE) |
| != | é diferente de | 5!=8 retorna verdadeiro (TRUE) |
| > | é maior que | 5>8 retorna falso (FALSE) |
| < | é menor que | 5<8 retorna verdadeiro (TRUE) |
| >= | é maior ou igual a | 5>=8 retorna falso (FALSE) |
| <= | é menor ou igual a | 5<=8 retorna verdadeiro (TRUE) |
Operadores Lógicos
| Operador | Descrição | Exemplo |
|---|---|---|
| && | and (E) | $x=6 $y=3 ($x < 10 && $y > 1) retorna verdadeiro (TRUE) |
| || | or (OU) | $x=6 y=3 ($x==5 || $y==5) retorna falso (FALSE) |
| ! | not (NÃO) | $x=6 $y=3 !($x==$y) retorna verdadeiro (TRUE) |
Veja esse link: operadores de comparação
Atente para o operador ===
5. Decisões
Assim como em C, no PHP temos a estrutura de controle para tomada de decisão definida como se-senão. O comando if em PHP tem a seguinte estrutura.
Estrutura IF-ELSE
if (expressão)
{
comandos se for verdadeiro
}
else
{
comandos se for falso
}
Assim como em C, pode-se usar o comando IF sem o teste de comparação. No caso uma variável pode ser considerada verdadeira se tiver conteúdo válido.
Veja o código abaixo
<?php $a=0.1; if($a) echo "a nao nulo"; else echo "a nulo"; ?>
Estrutura SWITCH
Assim com em C, o PHP possui uma estrutura switch, usada quando se tem uma sequência de testes para uma dada variável. A estrutura do switch é dada a seguir.
switch (expressão)
{
case "valor 1":
comandos
break;
case "valor 2":
comandos
break
case "valor n":
comandos
break;
default:
comandos
}
6. Outros Operadores
Essa seção foi baseada no site php.net
Veremos os operadores listados a seguir.
Operadores de controle de erro
Operadores de Execução
Operadores de Incremento/Decremento
Operadores de String
Operadores de Arrays
Operadores de tipo
6.1 Operadores de Controle de Erro
(extraído de php.net)O PHP suporta um operador de controle de erro: o sinal 'arroba' (@). Quando ele precede uma expressão em PHP, qualquer mensagem de erro que possa ser gerada por aquela expressão será ignorada.
Se o recurso track_errors estiver habilitado, qualquer mensagem de erro gerada pela expressão será gravada na variável $php_errormsg. Esta variável será sobrescrita em cada erro, assim verifique-a constantemente se você quiser usá-la.
<?php
/* Erro de arquivo intencional */
$my_file = @file ('arquivo_nao_existente') or
die ("Falha abrindo arquivo: '$php_errormsg'");
// Isto funciona para qualquer expressão, não apenas para funções:
$value = @$cache[$key];
// você não receberá nenhum aviso se a chave $key não existir.
?>
O operador @ funciona somente em expressões. Uma regra simples para lembrar disso: se você pode pegar o valor de alguma coisa, você pode prefixar isso com o @. Assim, você pode prefixar chamadas de variáveis, funções e include()s, constantes e afins. Você não pode prefixar definições de funções ou classe, estruturas condicionais como o if, foreach e assim por diante.
6.2 Operadores de Execução
O PHP suporta um operador de execução: acentos graves (``). Note que não são apóstrofes! O PHP tentará executar o conteúdo dos acentos graves como um comando do shell; a saída será retornada (isto é, ela não será simplesmente descarregada para a saída; ela pode ser atribuída a uma variável). A utilização do operador contra-apóstrofo é idêntica a função shell_exec().
<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>
6.3 Operadores de Incremento/Decremento
Veja no link:operadores de incremento e decremento6.4 Operadores de String
Veja no link:operadores de string6.5 Operadores de Arrays
Veja no link:operadores de array6.6 Operadores de tipo
Veja no link:operadores de tipo7. Exemplos
A seguir são apresentados alguns exemplos, retirados do site php.net
Exemplo 1
<?php
$a=1;$b=2;
if ($a > $b) {
echo "a is bigger than b";
} elseif ($a == $b) {
echo "a is equal to b";
} else {
echo "a is smaller than b";
}
?>Sintaxe alternativa para o if:
Exemplo 2
<?php
/* Incorrect Method: */
if($a > $b):
echo $a." is greater than ".$b;
else if($a == $b): // Will not compile.
echo "The above line causes a parse error.";
endif;
/* Correct Method: */
if($a > $b):
echo $a." is greater than ".$b;
elseif($a == $b): // Note the combination of the words.
echo $a." equals ".$b;
else:
echo $a." is neither greater than or equal to ".$b;
endif;
?>Exemplo 3
Exemplo #1 switch structure
<?php
if ($i == 0) {
echo "i equals 0";
} elseif ($i == 1) {
echo "i equals 1";
} elseif ($i == 2) {
echo "i equals 2";
}
switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
}
?>Exemplo 4
Exemplo #2 switch usado com strings
<?php
switch ($i) {
case "apple":
echo "i is apple";
break;
case "bar":
echo "i is bar";
break;
case "cake":
echo "i is cake";
break;
}
?>Exemplo 5
<?php
switch ($i) {
case 0:
case 1:
case 2:
echo "i is less than 3 but not negative";
break;
case 3:
echo "i is 3";
}
?>Exemplo 6 - Mostrando o uso do default
<?php
switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
default:
echo "i is not equal to 0, 1 or 2";
}
?>8. Exercícios
1. Teoria
Explique o que são linguagens scripts, linguagens de programação, linguagens de marcação (markup languages). Dê exemplos.
2. Responda
Quais os tipos de variáveis que o PHP aceita?
2. Strings
Faça um programa em PHP para definir 3 strings e mostrar a concatenação delas e o tamanho dessa string concatenada.
3. Strings
Faça um programa em PHP para definir a string "aprender php é legal" e mostrar o número de espaços nela contido.
4. Programas
Execute os exemplos dados acima. Entenda o que cada programa faz. Modifique valores das variáveis para analisar o comportamento das estruturas IF-ELSE e SWITCH()
Referências
voltar ao início da página