LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis

  • 893 views
Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
893
On Slideshare
891
From Embeds
2
Number of Embeds
1

Actions

Shares
Downloads
61
Comments
0
Likes
0

Embeds 2

http://campus.sapo.pt 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Tecnologias server-side: Tipos de dados e variáveisem PHPCarlos SantosLabMM 4 - NTC - DeCA - UAAula 11, 02-04-2013
  • 2. Tipos de dados: simples/escalaresboolean • True (<> 0) ou False (= 0)integer • sem parte fraccionária • base 16 (Hexadecimal), base 10 (Decimal), base 8 (Octal), Base 2 (Binário) • valor máximo = 231float, real, double • com parte fraccionáriastring • sequência de caracteres
  • 3. Tipos de dados: compostos... permitem agregar vários valores sob uma mesma entidadeArray • $marcacarro = array(); • $marcacarro[0] = “Opel”; • $marcacarro[1] = “Renault”; 0 1 2 • $marcacarro[2] = “Fiat”; Opel Renault FiatTipos de arrays • Arrays (com índice) • Arrays associativos • Arrays multi-dimensionais
  • 4. Tipos de dados: compostosObject • declarado através duma classe • Class Carro { ! ! ! Propriedades -> Variáveis ! ! ! Métodos -> Funções } • instanciados através da declaração duma variável • $CarroPolicia = new Carro; • $CarroLadroes = new Carro;
  • 5. Tipos de dados: type castingconversão do tipo de dados armazenado numa variável (type casting) • $score = (double) 13; -> $score = 13.0 • $score = (int) 13.22645; -> $score = 13se necessário o PHP converte automaticamente o tipo de dados de modoa que o código possa ser corretamente processado. Exemplos: • $a = 15; $b = “5”; • $resultado = $a + $b; -> $resultado = 20 • $cond = “1.0”; • if ($cond) echo “a variável cond é verdadeira”;
  • 6. Tipos de dados: type castingfunções para obter e modificar o tipo de dados de uma variável • verificar o tipo de dados duma variável • gettype (var) -> devolve o tipo de dados de var • modificar o tipo de dados duma variável • settype (var, type) -> atribui a var o tipo de dados typefunções para testar o tipo de dados duma variável (retornan true ou false) • is_float (var); is_bool(var); is_integer(var); is_numeric(var); $foo = 1; echo gettype($foo); !// output -> string $foo = (int)$foo; echo gettype($foo); !// output -> integer
  • 7. Identificadoresassociados a variáveis, funções e outros objectos definidos pelo utilizadorpossuem um ou mais caracterescomeçam por letras ou por “_”são Case Sensitive! My_function $Size $_preco $Teste • Carro <> carro
  • 8. Variáveisarmazenam valoresidentificam esses valores armazenadosdeclaração implícita -> basta referir a variável no código $aatribuição directa de valores $a = 2;atribuição de valores por referência $c =& $b; • se $b = 10 então $c = 10 (qualquer alteração numa reflecte-se na outra)
  • 9. Atribuição de valores por referênciaExemplo: • <?php $a = " Gostas do SCP?"; $b = &$a; echo $a; echo $b; $b = " Claro que sim!"; echo $a; echo $b; ?> Gostas do SCP? Gostas do SCP? Claro que sim! Claro que sim!
  • 10. Scope (âmbito das variáveis)locais • se declaradas dentro duma função então existem apenas nesse âmbito $x = 4; function aMinhaFuncao () { $x = 0; // Variável local } • dentro da função $x = 0 • fora da função $x = 4 (é uma variável distinta e não altera o valor da variável local)
  • 11. Scope (âmbito das variáveis)parâmetros de funções • existem apenas no âmbito da respetiva função funtion soma ($parcelaA, $parcelaB) { $resultado = $parcelaA + $parcelaB; return $resultado; }
  • 12. Scope (âmbito das variáveis)globais • visíveis globalmente • GLOBAL $x; //Para alterar $x dentro de uma funçãoestáticas • existem no âmbito das funções mas não são destruídas quando se sai da função function contador () {! ! ! static $valor = 0;! ! ! $valor = $valor + 1;! ! ! echo $valor;! ! } • a cada chamada da função contador() a variável $valor é incrementada uma unidade
  • 13. Scope (âmbito das variáveis)superglobais -> sempre acessíveis e definidas pelo sistema$_SERVER • fornece dados sobre o ambiente em que a página corre (servidor)$_FILES • dados sobre os ficheiros transferidos para o servidor pelo método POST$_ENV • tal como a $_SERVER fornece dados sobre o ambiente onde a página corre (servidor e cliente)$_SESSION • guarda os dados de todas as variáveis de sessão de um utilizador
  • 14. Scope (âmbito das variáveis)superglobais$_GET • passagem de parâmetros pelo método GET • http://www.example.com/index.php?cat=apache&id=157 • $_GET[cat] -> "apache“; • $_GET[id] -> "157“; • query string • tudo o que se segue ao “?” no URL
  • 15. Scope (âmbito das variáveis)superglobais$_POST • passagem de parâmetros pelo método POST<form action="subscribe.php" method="post">Email address:<br /><input type="text" name="email" size="20" maxlength="50"value="" /><br /><input type="submit" name="subscribe" value="subscribe!" /></form>na página subscribe.php existirá a variável -> $_POST[email]
  • 16. Constantes e expressõesconstantes • valores que não são modificados ao longo da execução da aplicação • são valores globais • define (‘PI’, 3.141592); $dobro = 2 * PI; echo $dobro; echo PI;expressões • representam genericamente uma ação no nosso programa… • contêm operandos e operadores • $a = 2; • $soma = 2 + 3; • $contador++;
  • 17. Operadoresprecedência entre operadores • seguem as regras matemáticas!operadores aritméticos • $a + $b -> adição • $a - $b -> subtracção • $a * $b -> multiplicação • $a / $b -> divisão • $a % $b -> resto da divisão inteira de $a por $b
  • 18. Operadoresoperadores de atribuição • $a = 5 -> atribuição -> $a igual a 5 • $a += 5 -> adição-atribuição -A $a igual a $a mais 5 -> $a=$a+5 • $a *= 5 -> multiplicação-atribuição -> $a igual a $a multiplicado por 5 • $a /= 5 -> divisão-atribuição -> $a igual a $a dividido por 5operadores de strings • $a = "abc"."def"; -> concatenação -> $a igual a "abcdef" • $a .= "abc" -> concatenação-atribuição > $a igual a $a concatenado com "abc"
  • 19. Operadoresoperadores de incremento e decremento • ++$a, $a++ -> incremento -> $a = $a + 1; • --$a, $a-- -> decremento -> $a = $a - 1; • (os resultados nem sempre são iguais) <?php <?php $a=1; $a=1; $c=++$a; $c=$a++; echo $a." | "; echo $a." | "; echo $c; echo $c; ?> ?> 2 | 2 2 | 1
  • 20. Operadoresoperadores lógicos • $a && $b -> e lógico -> verdadeiro se ambos forem verdadeiros • $a || $b -> ou lógico -> verdadeiro se pelo menos um for verdadeiro • !$a -> negação -> verdadeiro se $a for falso
  • 21. Operadoresoperadores de igualdade • $a == $b -> Será $a igual a $b? • $a != $b -> Será $a diferente a $b? • $a === $b -> Será $a idêntico a $b? (compara o valor e o tipo de dados armazenado)operadores de comparação (para valores numéricos) • $a < $b -> Será $a menor que $b? • $a > $b -> Será $a maior que $b? • $a <= $b -> Será $a menor ou igual que $b? • $a >= $b -> Será $a maior ou igual que $b?