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

Nenhum comentário:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...