terça-feira, 22 de março de 2011
2. Delimitadores e tipos de dados PHP
O código PHP fica embutido no próprio HTML. O interpretador identifica quando um código é PHP pelas seguintes tags
<?php
//código
?>
<?
//código
?>
<script language = ´´php´´
//código
</script>
Diferentes tipos de dados suportados pelo PHP
O PHP suporta oito tipos de dados primitivos divididos em três grupos:
Quatro tipos básicos, os dados escalares
integer
float (número de ponto flutuante, ou também double)
string
boolean
Dois tipos compostos
array
object
Dois tipos especiais:
resource
NULL
O tipo integer, inteiro, no PHP
Um inteiro é qualquer numero sem decimais, positivou ou negativo. Englobando todos os números do conjunto Z(os números inteiros).
<?php
// Declaração de uma variavel como inteiro
$ano_nascimento = 1989;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tipo Inteiro no PHP</title>
</head>
<body>
<p>Eu nasci no ano de <?php echo $ano_nascimento; ?></p>
</body>
</html>
O tipo float ou double, número de ponto flutuante, no PHP
Float, Double ou ainda números de ponto flutuante são os números reais.
<?php
// Declaração de uma variavel como float, armazenando o valor de pi
$pi = 3.14159265;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tipo float, double ou número de ponto flutuante no PHP</title>
</head>
<body>
<p>O valor de pi é <?php echo $pi; ?></p>
</body>
</html>
O tipo string no PHP
Uma string é uma série de caracteres, um texto por exemplo. Para declararmos strings podemos utilizar as aspas simples (apóstrofos) e as aspas duplas.
String com aspas simples (apóstrofos) no PHP
Para definirmos uma string com aspas simples basta delimitarmos o texto com aspas simples (').
<?php
// Declaração de uma variavel com string com aspas simples
$texto = 'O PHP é uma linguagem server-side.';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>String com aspas simples no PHP</title>
</head>
<body>
<p><?php echo $texto; ?></p>
</body>
</html>
Agora uma pergunta. E se eu quiser definir uma aspa simples no meu texto o que farei? Já que as aspas simples são os delimitadores de string. Veja o exemplo do que acontece se eu apenas inserir uma aspa simples no meio da minha string.
<?php
// Declaração de uma variavel com string com aspas simples
$texto = 'Ele comprou uma pizza no Joey's.';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>String com aspas simples no PHP</title>
</head>
<body>
<p><?php echo $texto; ?></p>
</body>
</html>
Sim! Como você deve ter imaginado foi gerado um erro já que a aspa simples é o delimitador de string. Para especificar uma aspa simples (apóstrofo) no meio de uma string você precisará "escapá-la" com uma contra barra (\) veja a seguir.
<?php
// Declaração de uma variavel com string com aspas simples
$texto = 'Ele comprou uma pizza no Joey\'s.';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>String com aspas simples no PHP</title>
</head>
<body>
<p><?php echo $texto; ?></p>
</body>
</html>
String com aspas duplas no PHP
A grande diferença entre as strings declaradas com aspas simples e as declaradas com aspas duplas está no fato de que as strings declaradas com aspas duplas interpretam as variáveis.
<?php
// Declaração de um produto
$produto = 'pizza';
// Declaração de uma variavel com string com aspas duplas
$texto = "Ele \"comprou\" uma $produto no Joey's.";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>String com aspas duplas no PHP</title>
</head>
<body>
<p><?php echo $texto; ?></p>
</body>
</html>
Observe que a variável $produto foi interpretada dentro da string declarada na variável $texto. Coisa que não ocorre nas variáveis declaradas com aspas simples. Veja o exemplo a seguir:
<?php
// Declaração de um produto
$produto = 'pizza';
// Declaração de uma variavel com string com aspas duplas
$texto = 'Ele comprou uma $produto no Joey\'s.';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>String com aspas duplas no PHP</title>
</head>
<body>
<p><?php echo $texto; ?></p>
</body>
</html>
Assim como tivemos que inserir uma contra barra (\) para declarar uma aspa simples quando declaramos uma string entre aspas simples devemos utilizar o mesmo caractere de escape, contra barra (\), para podemos inserir as aspas duplas dentro de uma string declarada com aspas duplas.
Outra grande diferença entre as aspas simples e as aspas duplas é que temos uma sequência de caracteres de controle que podem ser inserido em nossa string, veja a tabela a seguir:
Seqüência Significado
\n fim de linha
\r retorno de carro(carriage return)
\t TAB horizontal
\v TAB vertical
\f form feed
\\ contra barra ou barra invertida
\$ sinal de cifrão
\" Aspas
Não fique preocupado em ter que decorar todas as seqüências de caracteres de controle, pois a tabela estará aqui para quando você precisar tirar uma duvida e a medida de sua necessidade você a ira decorando com o passar do tempo. Veja um exemplo a seguir de alguns caracteres de controle em seguida uma explicação sobre o exemplo:
<?php
// Declaração de uma string com aspas simples mo PHP
$texto = 'Ele comprou uma
pizza no Joey\'s e custou R$ 30,00 reais';
// Declaração de uma string com aspas duplas mo PHP
$texto2 = "Ele comprou uma \n pizza no Joey's e custou R$ 30,00 reais";
// Declaração de uma string com aspas duplas mo PHP, e utilizando a contra barra para escapar o $
$texto3 = "Você se lembra que existia aqui uma variavel de nome \$produto?";
// Repare que não precisei escapar a contra barra
$texto4 = "Não preciso escapar a \ ?";
// Aqui eu preciso
$texto5 = "O texto termina com \\";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>String com aspas duplas no PHP</title>
</head>
<body>
<p><?php echo $texto; ?></p>
<p><?php echo $texto2; ?></p>
<p><?php echo $texto3; ?></p>
<p><?php echo $texto4; ?></p>
<p><?php echo $texto5; ?></p>
</body>
</html>
Para visualizar o primeiro exemplo abra o código fonte da página no seu browser e observe que os dois primeiros parágrafos apesar de idênticos um foi declarado como string com aspas simples e o outro com aspas duplas. No que foi declarado com aspas duplas repare que utilizamos o caractere de controle \n para quebra linha enquanto no outro utilizamos uma quebra de linha no próprio código fonte, é um exemplo apenas para ilustrar o funcionamento do caractere de controle \n.
Você deve esta se perguntando como eu pude escrever o sinal de $, nas variáveis $texto e $texto2, normalmente se eu necessito utilizar o caractere de controle. A resposta é que não a nenhum caractere seguido dele. Na variável $texto3 como a texto seguido do $ aí sim eu deve utilizar o caractere de controle.
Algo parecido ocorre com a contra barra observe que na variável $texto4 eu não precisei escapar a contra barra, a contra barra só precisa ser escapa no final da string assim como foi declarado na variável $texto5.
Caso já tenha pego algum script pela internet em PHP, talvez já tenha se deparado com \r\n para finalizar a linha, ou apenas \n no entanto não o faça. Prefira a constante do próprio PHP, PHP_EOL. Pois seu objetivo é exatamente este criar uma nova linha(new line) cross-plataforma assim você não precisa se preocupar como é que é pra criar uma linha no Windows ou no Linux.
Não se esqueça que a sequência de caracteres de controle (escape) só é interpretada pelas strings declaradas com aspas duplas, e que as variáveis também só são interpretadas em strings declaradas com aspas duplas.
Caso você esteja sentindo falta da sintaxe Heredoc não se preocupe ela será abordada mais a frente, como o objetivo é um passo a passo a idéia é você ir se acostumando com as sintaxes aqui apresentadas e mais pra frente alguns assuntos terão que ser retomados. Assim você não sofrerá com uma grande quantidade de informação e pouco tempo de absorção.
O tipo boolean, booleano, no PHP
O tipo booleano é muito simples pois aceita apenas os valores verdadeiro(TRUE) ou falso(FALSE).
<?php
// Declaração de uma variável booleana com o valor verdadeiro
$sim = TRUE;
// Declaração de uma variável booleana com o valor falso
$nao = FALSE;
?>
Você deve ter reparado que não exibimos valores na tela, isto porque o tipo booleano expressa um valor verdade (verdadeiro ou falso). Quando chegarmos às estruturas de controle aí sim o valor booleano fará muito mais sentido.
O tipo booleano é case-insensitive, ou seja, não diferencia maiúsculas de minúsculas. Isto é true, TrUe e TRUE são iguais assim como false, FaLsE e FALSE são iguais.
No entanto prefira sempre utilizar: TRUE e FALSE ou true e false.
O tipo NULL no PHP
Outro tipo de dado muito simples, o valor especial NULL, representa que a variável não tem valor. NULL é o único valor possível do tipo NULL.
<?php
// Declaração de uma variável NULL
$nulo = NULL;
?>
O tipo NULL é case-insensitive, assim como o tipo booleano , ou seja, não diferencia maiúsculas de minúsculas. Isto é null, NulL e NULL são iguais.
No entanto prefira sempre utilizar: NULL ou null.
Você deve ter reparado que não falamos dos tipos compostos (array e object) e do tipo especial resource. Isso porque como a proposta de aprendizado é orientada a PHP e algoritmos não a sentido me aprofundar nestes tipos de dados se você ainda não sabe os operadores e as estruturas de controle, pois iria lhe confundir mais.
Após falarmos sobre estruturas de controle retornaremos ao tipo array.
Fonte: http://www.aprenderphp.com.br
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário