1-PHP Introdução
Exercícios
Curso Banco Dados
IntroducaoBD.php

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:


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.
php1
Portanto, para iniciarmos o entendimento de uma linguagem, é importante conhecer os comandos de entrada e saída. Como dito, no caso do PHP iniciamos estudando os comandos de saída.

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:

$x[5][5]

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:

  1. Em PHP uma variável não precisa ser declarada antes de ser usada. Elas são DECLARADAS AUTOMATICAMENTE.
  2. Não é preciso, portanto, dizer de qual "tipo é a variável"  (ao contrário do C, que necessita que declaremos a variável)
  3. PHP automaticamente converte a variável para o tipo correto.
  4. 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.
  5. 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.

  1. Função strlen(): retorna o comprimento da string

  2. Função strpos(): retorna a posição de um dado caracter ou string

  3. Função strcmp(): compara duas strings

  4. 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

http://www.php.net/manual/pt_BR/language.operators.php
Operador Exemplo É o mesmo que
= $x=$y $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
%= $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 decremento

6.4 Operadores de String

Veja no link:operadores de string

6.5 Operadores de Arrays

Veja no link:operadores de array

6.6 Operadores de tipo

Veja no link:operadores de tipo

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