Artigo Clube Delphi 90 - Introdução ao PHP - Parte2

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo da Revista Clube Delphi Edição 90.

 

Esse artigo faz parte da revista Clube Delphi Edição 90. Clique aqui para ler todos os artigos desta edição

PHP

Introdução ao PHP – Parte 2

Tipos de Dados e arrays

 

Ewald Geschwinde e Hans-Juergen Schoenig

 

Nas seções anteriores, nós já vimos que o PHP suporta variáveis, mas por enquanto só aprendemos a utilizar números e seqüências. Como estruturas de controle, os tipos de dados são um componente fundamental de toda linguagem de programação.

Tal como a maior parte das linguagens de alto nível, o PHP trabalha normalmente sem tipos de dados e tenta reconhecer o tipo de dado de uma variável por conta própria. Contudo, o PHP fornece um conjunto de tipos de dados diferentes, como mostrado na Tabela 1. Nesta seção, aprenderemos a utilizar estes tipos de dados eficientemente.

 

Tipo de dado

Descrição

Int, Integer

Numéricos, valores sem virgule

Double, real

Numéricos de ponto flutuante

String

Seqüência de caracteres

Array

Conjunto de valores

Object

Tipo de dado artificial, definido pelo usuário

Tabela 1. Tipos de dados no PHP

 

Variáveis e nomes

Como já vimos nos exemplos discutidos nas seções anteriores, as variáveis em PHP são marcadas com o caractere ”$”. Diferentemente do Perl, o PHP marca todas as variáveis com um caractere “$” e não usa os caracteres “@” e “%” como símbolos.

Em PHP, os nomes de variáveis são sensitivas, o que significa que faz diferença se o nome é escrito com caracteres minúsculos ou maiúsculos. O nome de uma variável pode iniciar com um caractere de “a” a “z” ou com o caractere “_' (“underscore”). Depois do primeiro caractere, todas as demais letras e números, assim como o caractere “_” serão permitidos. Contudo, recomendo fortemente utilizar só letras no nome da variável, pois caso contrário, os programas ficarão confusos e difíceis de entender, sobretudo quando se misturam letras maiúsculas e minúsculas em nomes de variáveis. O exemplo a seguir, mostra que $a não será interpretado como $A:

 

<?php

    $a = "Eu sou uma seqüência.";

    $A = "Eu também sou uma seqüência.";

    echo "a: $a; A: $A<br>\n";

?>

 

Como podemos ver no resultado, as duas frases não representam a mesma variável.

 

Reconhecimento automático de tipo de dados

Quando uma variável é processada pelo PHP, o interpretador segue algumas regras pré-estabelecidas para reconhecer que tipo de dado uma variável pertence:

?         Se uma seqüência de caracteres inicia e termina com aspas simples, será tratada como um literal do tipo string: $a = ‘abc’ - atribui a seqüência “abc” a $a, pois a seqüência está entre aspas simples;

?         Se um número não contiver um ponto decimal, é tratado como um valor inteiro: $a = 23, indica que o número inteiro 23 será atribuído a $a. O valor 23 é um valor inteiro porque não contém nenhum ponto decimal;

?         Se um número contiver um ponto decimal, será tratado como um número de ponto flutuante: $a = 3.14159 faz com que o PHP atribua um valor ponto flutuante a $a;

O conhecimento dessas três regras torna fácil a previsão do resultado de uma operação e facilita a escrita de aplicações sem erros de codificação.

 

Verificação de tipos de dados e formatação explícita

Às vezes é necessário modificar explicitamente o tipo de dado de uma variável. Embora o PHP faça internamente a formatação de tipos em alguns casos poderia ajudar, caso seja necessário que uma variável seja atribuída com determinado tipo de dado. Para executar operações assim, o PHP fornece as funções necessárias. Antes de aprendermos sobre essas funções, veremos como podemos descobrir o tipo de dado de uma variável na Listagem 1.

 

Listagem 1. Verificando o tipo de uma variável

<?php

    $a = 3.14159;

    $b = 12;

    $c = "Eu sou uma seqüência.";

    $d = array(1, 2, 3);

 

    echo '$a is a '.gettype($a)." value<br>\n";

    echo '$b is an '.gettype($b)." value<br>\n";

    echo '$c is a '.gettype($c)." value<br>\n";

    echo '$d is an '.gettype($d)." value<br>\n";

?>

Com o auxílio da função chamada gettype, é possível recuperar facilmente o tipo de dado de uma variável. Se utilizarmos as regras descritas na seção anterior, será fácil prever o resultado do script:

 

$a is a double value

$b is an integer value

$c is a string value

$d is an array value

 

O primeiro valor é um valor ponto flutuante porque contém uma vírgula. O segundo é um valor inteiro porque não contém uma vírgula. O terceiro está entre aspas e por isso é tratado como um string. O último valor é um array, pois a expressão no lado direito do caractere “=”, retorna um array de valores inteiros.

Outro modo de verificar o tipo de dado de uma variável seria utilizar a função específica de tipo de dados como mostrado na Listagem 2.

 

Listagem 2. Outra forma de verificar um tipo de dado de uma variável

<?php

    $a = 3.14159;

    $b = 12;

    $c = "Eu sou uma seqüência.";

    $d = array(1, 2, 3);

 

    echo '$a: '.is_double($a)."<br>\n";

    echo '$b: '.is_integer($b)."<br>\n";

    echo '$c: '.is_string($c)."<br>\n";

    echo '$d: '.is_array($d)."<br>\n";

    echo '$d: '.is_object($d)."<br>\n";

?>

Utilizamos as funções is_double, is_integer, is_string, is_array e is_object. Se o valor passado para a função tiver o tipo de dado apropriado, será retornado 1. A listagem a seguir, contém o resultado do script que acabamos de ver:

 

$a: 1

$b: 1

$c: 1

$d: 1

$d:

 

Todos os valores menos o último serão “true”. A última linha mostra que $d não é um objeto.

Se executarmos uma formatação explícita, poderemos facilmente perder os dados armazenados na variável que desejamos formatar. Isto não representa um ponto fraco do PHP, pois a formatação não poderia ser feita de outra forma pelo interpretador PHP. (Listagem 3).

 

Listagem 3. Exemplo de formatação de variáveis

<?php

    $a = 3.14159;

    $b = 12;

 

    $a_cast = (int)$a;

    $b_cast = (double)$b;

 

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?