Upload
rusty
View
45
Download
2
Embed Size (px)
DESCRIPTION
PHP & MySQL. José Francisco [[email protected]]. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente. Com modificações! Também possui a contribuição de Cleviton V. F. Monteiro. - PowerPoint PPT Presentation
Citation preview
José Francisco [[email protected]]
PHP & MySQL
Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente. Com modificações!
Também possui a contribuição de Cleviton V. F. Monteiro.Conteúdo didático é baseado em diversas fontes como: tutoriais, livros e o site oficial
de PHP.Inspirado também em slides de Jobson Ronan, instrutor de Java Avançado do CITi.
Roteiro
Variáveis Tipos Arrays Resource
Variáveis
Um espaço na memória para armazenar dados São case sensitive.
i.e. $nome e $Nome são diferentes. Começam com $ podem conter letras digitos e
sublinhados O primeiro caractere não pode ser um número.
Regras de Nomenclatura
O primeiro caractere é uma letra ou um sublinhado ‘_’.
O nome só pode conter caracteres alfa-numéricos e sublinhados (a-Z, 0-9, _ )
Nome que contenham mais de uma palavra deve-se separar as palavras por um sublinhado ou por letra maiúscula. $nome_cliente ou $nomeCliente
Variáveis
$idade $_nome $i $3idade $primeiro-nome
Em PHP não é necessário declarar o tipo de uma variável antes de usá-la (Tipagem Dinâmica).
<?php $str = "José"; // $str armazena o tipo string. $i = 12; // $i armazena o tipo inteiro. $f = 3.1415; // $f armazena o tipo ponto flutuante. $v = “3.1415"; // $v armazena o tipo string. ?>
VariáveisTipo Descrição
Inteiro Um inteiro é um número do conjunto Z = {..., -2, -1, 0, 1, 2, ...}.
Pontos Flutuante Números reais, como 4.12
Strings Seqüência de caracteresBooleano Um booleano expressa um valor de verdade. Ele
pode ser TRUE ou FALSE. Array Representa coleçõesObjetos Instancias de classes definidas.Resource Representa um recurso externo.NULL Representa uma variável sem valor.
Inteiro
Representam os números inteiros da matemática Variam de -2.147.483.648 à 2.147.483.647
OBS: Caso ocorra overflow o Número de Ponto Flutuante é retornado.
<?php $a = 1; # número decimal $a = -2; # um número negativo $a = 0123; # número octal (83 em decimal) $a = 0xF; # número hexadecimal (15 em decimal) $a = 7*12 + 6/3; # saída: 86 ?>
Pontos Flutuantes
Possuem uma parte inteira e uma parte fracionária. O tamanho depende da plataforma.
Cuidado o seguinte Script gera a saída 1.
<?php $a = 1.234; $b = 1.2e3; $c = 7E-10; ?>
<?php floor((0.1+0.7)*10) == 7 ?>
Strings
(1 byte por caractere): Não suporta diretamente unicode.
Podem ser delimitadas por “” (aspas duplas), ‘’ (aspas simples) ou por `` (grave).
Cada uma das delimitações tem um propósito específico.
Strings
Delimitado por aspas simples ‘’ Variáveis internas não são expandidas.
<?php $id = 12; $query = ‘SELECT * FROM FUNCIONARIO WHERE ID=$id’; echo($query); ?>
SELECT * FROM FUNCIONARIO WHERE ID=$id
Saída
Strings
Delimitadas por aspas duplas “” As variáveis externas são expandidas.
<?php $id = 12; $query = "SELECT * FROM FUNCIONARIO WHERE ID=$id"; echo($query); ?>
SELECT * FROM FUNCIONARIO WHERE ID=12
Saída
Strings Delimitadas por `` (acentos grave)
Executa o conteúdo como um comando do shell e retorna sua saída.
<?php $a = `time`; echo $a; ?>
Hora atual: 16:00:57,61 Digite a nova hora:
Saida:
Strings
Seqüência Significado “ ‘
\n Nova linha OK ERRO\r Retorno de carro OK ERRO\t Tab horizontal OK ERRO\\ Barra invertida OK ERRO\$ Cifrão OK ERRO\’ Aspas simples ERRO OK\” Aspas duplas OK ERRO
Caracteres especiais para string
Exercícios
Faça os exercícios 4 e 5
Seqüência de caracteres. Acessando um caractere da string. Coloca-se entre chaves o índice do caractere desejado
(começando em 0).
Strings
<?php $str = "abc"; echo $str{1}; echo "<br>"; $str{1} = '2'; echo $str; ?>
ba2c
Saída gerada:
Strings
Concatenação de Strings.
<?php $str1 = "ab"; $str2 = "c"; $concat = $str1 . $str2; ?>
Strings
Conversão de strings em inteiros Tenta converter da esquerda para a direita, se não
conseguir evolui para 0.
<?php $foo = 1 + "10.5"; // $foo é float (11.5) $foo = 1 + "-1.3e3"; // $foo é float (-1299) $foo = 1 + "bob-1.3e3"; // $foo é integer (1) $foo = 1 + "bob3"; // $foo é integer (1) $foo = 1 + "10 Small Pigs"; // $foo é integer (11) $foo = 4 + "10.2 Little Piggies"; //$foo é float(14.2)
$foo = "10.0 pigs " + 1; // $foo é float (11) ?>
Booleano Representam os conceitos de verdadeiro e falso. Use as palavras chave TRUE ou FALSE. Ambas são
insensitivas ao caso. <?php $foo = True; // assimila o valor TRUE para $foo ?>
OBS: Assim como na linguagem C, em php o 0 é denotado para falso e true para qualquer numero diferente de 0. Portanto:$b1 = -1; //true$b2 = 0; //false$b3 = 2; // true
Booleano Normalmente utilizado em estruturas de controle
junto com os operadores.
<? $bool = 3 > 0; // $bool = TRUE; if ($bool == True){ //poderia ser if($bool){.. echo ("Entrou no if!"); } else { echo ("Entrou no else!"); } ?>
Arrays Encapsula uma coleção de dados. Podem ser indexados por números inteiros ou
strings. Quando utilizar:
Para evitar ter muitas variáveis similares. Quando há necessidade de ordenação dos elementos Entre outros
Arrays Há três diferentes tipos de arrays:
Numéricos: Um array com uma chave numérica Associativo: Um array cuja chave difere de um valor
numérico (string). Multidimensional: Um array que possui um ou mais
arrays como elemento.
Arrays Não é necessário inicializar arrays. Adota o conceito de array dinâmico.<?php $produtos[] = "Pneu"; /* Equivalente a $produtos[0] = "Pneu“ e implicitamente o array foi criado */ $produtos[1] = "Oleo"; $produtos[] = "Luva"; ?>
Conteúdo do Array:
Indexação - Numéricos
Os arrays são indexados por números:
<?php $produtos[] = “Carro"; $produtos[12] = “Pneus"; $produtos[2] = “Motor"; $produtos[] = “Rodas"; ?>
Conteúdo do Array:
Arrays - Construtor
Utilizado para criar arrays:
Chave: int ou stringValor: pode ser qualquer coisa
[ ] opcional.
array( [chave =>] valor , ... );
Arrays
Arrays Associativos<?php $precos = array( "Pneu"=>100, "Oleo"=>10, "Luva"=>4);
$precos["Capo"] = 300; echo $precos["Oleo"]; ?> Conteúdo do array:
Array - Multidimensionais
São arrays que possuem como elementos outros arrays.
Conceito importante em PHP. Presente nos meios de submissão de Formulários
HTTP (POST, GET, FILE, etc).
Array
$familias = array( "Silva"=>array( "Renata", "Kelly", "Willian" ), "Lima"=>array( "Adriana", "Thiago" ), "Barbosa"=>array( "Luana" ));
Conteúdo do array:
Exemplo:
Arrays
Ordenando Arrays.<?php $produtos = array("Pneu", "Oleo", "Luvas"); $precos = array( "Pneu"=>100, "Oleo"=>10, "Luva"=>41);
sort($produtos); // ordena pelo valor asort($precos); // ordena por preco (valor) ksort($precos); // ordena por nome (chave,índice)?>
Array
Exemplo final:
A memória fica mapeada como:
<?php $a = array("José", 4=>"Joaquim", "Maria"); $b = array("Id2" => "José", "Id10" => "Maria"); ?>
Array
Manipulando Arrays: (exemplo mais elaborado)
<?php// Criando um array normal$array = array(1, 2, 3, 4, 5);print_r($array);
unset($array[1]);print_r($array);
// Acrescentando um item (note que a chave é 5, em vez de zero// como voce pode ter esperado).$array[] = 6;print_r($array);
// Reindexando:$array = array_values($array);$array[] = 7;print_r($array);
?>
Resource
Representa um recurso “externo”. Por exemplo:
Uma conexão com mysql. Um arquivo aberto. ...
Exemplo:<?php $handle = fopen (“curso.txt", "r"); ?>
http://br.php.net/manual/pt_BR/resource.php
NULL
Representa uma variável sem valor ou não inicializada. Não é Case Sensitive (null == Null).
Exemplo:
<?php $raiz_quadrada = ($i > 0) ? sqrt($i) : null; ?>
Variáveis de variáveis
O conteúdo de uma variável pode virar o nome de uma variável.
<?php $a = "gambiarra"; $$a = "Isso é seboso!"; echo $gambiarra; ?>
Referências
Exemplos de códigos e tutoriais: http://www.phpbuilder.com/
Site oficial: http://www.php.net
Exemplo de códigos: http://www.scriptbrasil.com.br/
W3 Schools: http://www.w3schools.com
Dúvidas??
PHP & MySQL
José Francisco [[email protected]]