Você está na página 1de 23

Programao PHP

Tecnologias Web Aula 5 2 Bimestre

Agenda
Programao PHP Atividades

Programao PHP Gerenciando variveis


Trs funes da linguagem so usadas para gerenciar variveis:
isset(): determina se uma determinada varivel j foi declarada no PHP. Aceita vrios parmetros
if (isset($nome)) { print $nome } //checando um elemento de array if (isset($arr[offset"])) { ... } //checando vrias variveis isset($var1, $var2, $var3, ...);

Programao PHP Gerenciando variveis


unset(): descarta varivel j declarada
$nome = "Joao"; unset($nome); if (isset($nome)) { print $nome; }

empty(): verifica se varivel foi declarada e se possui valor


if (empty($nome)) { print Esqueceu de se apresentar!; }

Programao PHP Variveis pr-setadas


HTTP_REFERER: Se o usurio clicou um link para acessar a pgina PHP, esta varivel conter URL da pgina anterior. Caso contrrio, ser valor vazio. HTTP_USER_AGENT: O nome reportado pelo browser do usurio. PATH_INFO: Qualquer dado informado na URL depois do nome do script PHP_SELF: O nome da pgina script corrente REQUEST_METHOD: O tipo do mtodo de envio do formulrio. QUERY_STRING: Todo texto presente na URL aps ?

Programao PHP Variveis superglobais


PHP no suportam variveis globais. Mas existem algumas variveis que se comportam como variveis globais (podem ser acessadas de qualquer lugar):
$_GET[]: Lista que inclui todas as variveis de requisio GET. $_POST[]: Lista que inclui todas as variveis de requisio POST. $_COOKIE[]: Lista que inclui todos os cookies da requisio. $_ENV[]: Lista que inclui todas as variveis de ambiente. $_SERVER[]: Lista que inclui todos os valores das variveis do servidor Web. $GLOBALS[]: Lista contendo variveis declaradas no escopo da pgina.

Programao PHP Escopo


A partir do momento em que uma varivel definida, ela visvel e acessvel no escopo em que foi definida. O escopo do bloco de cdigo escrito direto na pgina tido como escopo de pgina. Cada funo define tambm um escopo diferente do escopo global. Variveis declaradas dentro de um escopo global so visveis em toda pgina. Variveis declaradas dentro de um escopo de funo so visveis apenas na funo. Para acessar varivel do escopo de pgina num escopo de funo, deve-se usar a varivel $GLOBALS[nome da variavel]

Programao PHP Escopo


<?php function minha_funcao () { if (isset($a)) echo "a definido na funcao<br>"; if (isset($b)) echo "b definido na funcao<br>"; if (isset($GLOBALS['a'])) echo "GLOBAL a definido na funcao<br>"; if (isset($GLOBALS['b'])) echo "GLOBAL b definido na funcao<br>"; $c = 2; } $a = 1; //escopo global if ($a > 0) { $b = $a + 10; //escopo pgina } if (isset($b)) echo "b definido na pagina<br>"; minha_funcao(); if (!isset($c)) echo "c no definido na pagina<br>"; ?>

Programao PHP Referncia


Quando se usa =, o PHP realiza uma cpia do valor do operando a direito no operando a esquerda. Mas depois se mudar a varivel $b, a varivel $a no mudar junto. Para resolver este problema, deve-se usar referncia: <?php $a =& $b; ?> Dessa forma, mudando qualquer varivel tambm alterar a outra varivel.

Programao PHP Referncia


Referncia tambm usada na passagem de parmetros para funo: <?php
function dobro($a) { $a = $a * 2; } $b = $c = 5; dobro(&$b); dobro($c); echo "b = $b (valor referncia)<br>"; echo "c = $c";

?>

Programao PHP include/require


include(string): Inclui contedo do arquivo no ponto em que foi feita a chamada da funo. Se ocorrer erro, dado warning, mas continua execuo do script: <?php include("menu.php"); ?> require(string): Mesmo que include. Mas neste caso, se der erro, dado fatal error e pra a execuo do script. <?php include("menu.php"); ?>

Programao PHP include/require


<div id="pagina"> <div id="cabecalho"> <?php include("logo.html");?> </div> <div id="menu"> <?php include("menu.html");?> </div> <div id="conteudo"> <?php $pagina = "conteudo1.html"; if (isset($_REQUEST["pagina"])) { $pagina = $_REQUEST["pagina"]; } include ($pagina); ?> </div> </div>

Programao PHP Manipulando Strings


Strings podem conter:
\n \t \" \\ \0 \r \$ \{Octal #} Nova Linha Tabulao \" aspas duplas Barra invertida ASCII 0 (null). Adiciona linha em branco $ - no trata como varivel O caracter representado pelo octal - exemplo, \70 representa letra 8. O caracter representado pelo hexadecimal exemplo, \0x32 representa letra 2.

\x{Hexadecimal #}

Programao PHP Manipulando Strings


Uma outra funcionalidade de strings com aspas duplas (no valido para aspas simples) que as variveis podem ser especificadas dentro da string. O valor ser automaticamente includo no texto final.
O resultado $resultado\n A posio $i da lista tem $lista[$i]

Pode-se usar tambm . para concatenao de strings.

Programao PHP Manipulando Strings


Strings so listas de caracteres. Ento possvel acessar posies da strings:
$nome = Joao; print $nome[0] - $nome[1] - $nome[2] $nome[3];

Programao PHP Manipulando Strings


string substr ( string texto, int inicio [, int tamanho]): obtem parte da string string str_replace ( string texto_atual, string texto_novo, string texto_original [, int &numero_de_trocas]): troca um texto por outro (case sensitive) string str_ireplace ( string texto_atual, string texto_novo, string texto_original [, int &numero_de_trocas]): troca um texto por outro (no case sensitive)

Programao PHP Manipulando Strings


<?php $nome = "Jos Roberto da Silva Figueiredo"; echo substr($nome, 5); echo "<br><br>"; echo substr($nome, 5, 10); echo "<br><br>"; echo str_replace("R", "L", $nome); echo "<br><br>"; $trocas = 0; echo str_ireplace("R", "L", $nome, & $trocas) . " trocas: $trocas"; ?>

Programao PHP Manipulando Strings


string chr ( int ascii): obtem o caracter representado pelo cdigo asc int ord ( string string): obtem o cdigo asc do caracter int strlen ( string texto): obtem tamanho do texto mixed count_chars ( string string [, int mode]): obtem nmero de caracteres ou array com caracteres quando modo for informado (1 para nao incluir no array caracteres com 0 ocorrncias ou 2 para todos caracteres) mixed str_word_count ( string string [, int formato]): Obtem numero de palavras ou array com palavras quando formato for informado (2 para indice do array corresponder a posio da palavra no texto).

Programao PHP Manipulando Strings


<?php $nome = "Jos Roberto da Silva Figueiredo"; echo chr(64) . " = ASCII " . ord("@"); echo "<br><br>"; echo "Numero de letras em \"$nome\": " . strlen($nome); echo "<br><br>"; print_r(count_chars($nome, 1)); echo "<br><br>"; print_r(str_word_count($nome, 1)); ?>

Programao PHP Manipulando Strings


string strpos ( string texto, string palavra [, int offset]): obtem posio da palavra no texto. Offset serve para informar de onde iniciar a procura na palavra.Essa funo case sensitive. string stripos ( string haystack, string needle [, int offset]): Mesmo do anterior, mas nesse caso a funo no case sensitive.

10

Programao PHP Manipulando Strings


<?php $nome = "Jos Roberto da Silva Figueiredo"; echo strpos($nome, "Roberto"); echo "<br><br>"; echo stripos($nome, "roberto"); ?>

Programao PHP Manipulando Strings


int strstr ( string texto, string palavra): obtem substring comeando com palavra procurada no texto. Essa funo case sensitive. int stristr ( string texto, string palavra): Mesmo do anterior, mas nesse caso a funo no case sensitive.

11

Programao PHP Manipulando Strings


<?php $nome = "Jos Roberto da Silva Figueiredo"; echo strstr($nome, "Roberto"); echo "<br><br>"; echo stristr($nome, "roberto"); ?>

Programao PHP Manipulando Strings


string trim ( string texto [, string charlist]): Remove espaos em branco a esquerda e direita. O segundo parmetro inclui caracteres adicionais. string ltrim ( string texto [, string charlist]): Remove espaos em branco a esquerda. O segundo parmetro inclui caracteres adicionais. string rtrim ( string texto [, string charlist]): Remove espaos em branco a direita. O segundo parmetro inclui caracteres adicionais.

12

Programao PHP Manipulando Strings


<?php echo "<pre>"; $nome = " "; echo $nome; echo "<br><br>"; echo trim($nome) . "- Fim"; echo "<br><br>"; echo ltrim($nome) . "- Fim"; echo "<br><br>"; echo rtrim($nome) . "- Fim"; echo "</pre>"; ?> Jos Roberto da Silva Figueiredo

Programao PHP Manipulando Strings


string wordwrap ( string texto [, int tamanho [, string quebra [, boolean cortar]]]): Quebra texto de acordo com tamanho, podendo incluir texto de quebra. O valor boleano fora quebra de palavras. string strtoupper ( string texto) string strtolower ( string texto) string ucfirst ( string texto) string ucwords ( string texto)

13

Programao PHP Manipulando Strings


<?php $nome = "Jos Roberto da Silva Figueiredo"; echo wordwrap($nome, 5, "<br>"); echo "<br><br>"; echo wordwrap($nome, 5, "<br>", true); echo "<br><br>"; echo strtoupper($nome); echo "<br><br>"; $nome = strtolower($nome); echo $nome; echo "<br><br>"; echo ucfirst($nome); echo "<br><br>"; echo ucwords($nome); ?>

Programao PHP Manipulando Strings


int strcmp ( string str1, string str2): compara duas strings no levando em conta maiusculas e minusculas. int strcasecmp ( string str1, string str2): compara duas strings no levando em conta maiusculas e minusculas.

14

Programao PHP Manipulando Strings


<?php $nome1 = "Jos Roberto da Silva Figueiredo"; $nome2 = "Joo Roberto da Silva Figueiredo"; echo "$nome1 == $nome2 ? <br> R:" . strcmp ($nome1, $nome2); echo "<br><br>"; echo "$nome2 == $nome1 ? <br> R:" . strcmp ($nome2, $nome1); echo "<br><br>"; echo "$nome1 == $nome1 ? <br> R:" . strcmp ($nome1, $nome1); echo "<br><br>"; $nome3 = strtolower($nome1); echo "$nome1 == $nome3 ? <br> R:" . strcmp ($nome1, $nome3); echo "<br><br>"; echo "$nome1 == $nome3 ? <br> R:" . strcasecmp ($nome1, $nome3); ?>

Programao PHP Funes de data


Datas
time(): Obtm o tempo corrente strtotime(string [, int now]): Obtm tempo com base na string mktime([int hora [, int minuto [, int segundo [, int ms [, int dia [, int ano [, int e_horario_verao]]]]]]]) ): Obtem a data correspondente date(format, [, int timestamp])

15

Programao PHP Funes de data


Formato a A j d D F g G h Descrio am/pm minsculo am/pm maiusculo Dia do ms sem incluir zero dia do ms, incluindo 0 Texto do dia, trs letras Ms texto inteiro Hora (relgio de 12 horas) Hora (relgio de 24 horas) Hora (relgio de 24 horas) com zero Exemplo am ou pm AM ou PM 1 to 31 01 at 31 Mon, Thu, Sat January, August 1 at 12 0 at 23 01 at 12

Programao PHP Funes de data


Formato Descrio H i I l m M n s t Y z Hora (relgio de 24 horas) com zero Minutos incluindo 0 Horrio de vero Dia da semana Ms do ano incluindo 0 Texto do ms com 3 letras Ms do ano sem 0 Segundos incluindo 0 Nmero de dias do ms Quatro digitos representando o ano Dia do ano Exemplo 00 at 23 00 to 59 1 if yes, 0 if no Monday, Saturday 01 to 12 Jan, Aug 1 to 12 00 to 59 28 at 31 1997, 2002 0 to 366

16

Programao PHP Funes Matemticas


ceil (float valor): arredonda para cima floor (float valor): arredonda para baixo round (float valor [, int precisao]):
Arredonda 0,49 para 0 e 0,51 para 1. Preciso indica numero de casas decimais.

rand([int min, int max]): obtem numero randmico mt_rand ([int min, int max]): obtem numero randmico mais randmico

Programao PHP Funes Matemticas


float sin ( float valor): seno do valor em radianos float cos ( float valor): cosseno do valor em radianos float tan ( float valor): tangente do valor em radianos float deg2rad ( float valor): de graus para radianos float rad2deg ( float valor): de radianos para graus

17

Programao PHP Funes Matemticas


number abs ( number valor): obtem numero absoluto. float sqrt ( float valor): obtem raiz quadrada number pow ( number base, number expoente): obtem valor de potncia float hypot ( float num1, float num2): calcula valor da hipotenusa.

Programao PHP Constantes matemticas


Constante M_PI M_PI_2 M_PI_4 M_1_PI M_2_PI M_SQRTPI M_2_SQRTPI M_SQRT2 M_SQRT3 M_SQRT1_2 Valor 314.159.265.358.979.000.000 157.079.632.679.489.000.000 0.78539816339744830962 0.31830988618379067154 0.63661977236758134308 177.245.385.090.551.000.000 112.837.916.709.551.000.000 141.421.356.237.309.000.000 173.205.080.756.887.000.000 0.70710678118654752440 Descrio Pi Pi/2 Pi/4 1/Pi 2/Pi sqrt(M_PI) 2/sqrt(M_PI) sqrt(2) sqrt(3) 1/sqrt(2)

18

Programao PHP Funes Converso


int bindec ( string binario): binario pra decimal string decbin ( int numero): decimal pra binario string dechex ( int numero): decimal pra hexa string decoct ( int numero): decimal pra octal int hexdec ( string hexa): hexa pra decimal int octdec ( string octal): octal pra decimal string base_convert ( string numero, int de_base, int para_base): converte numero de uma base pra outra.

Programao PHP Funes array


array array ( [mixed ...]): declara array int count ( mixed var [, int mode]): obtem numero de elementos do array bool print_r ( mixed expression [, bool return]): imprime array e opcionalmente retorna resultado

19

Programao PHP Funes array


Iterando sobre array:
<?php foreach ($array as $key => $val) { print "$key = $val\n"; } ?>

array array_diff ( array array1, array array2 [, array ...]): Obtem diferena entre arrays. array array_intersect ( array array1, array array2 [, array ...]): Obtem elementos igaus de arrays. array array_merge ( array array1, array array2 [, array ...]): Obtem unio de arrays.

Programao PHP Funes array


array array_unique ( array input): retorna array sem items repetidos. array array_filter ( array input [, callback function]): repassa array para ser filtrado por outra funo <?php function termina_com_o($valor) { return (substr($valor, -1) == o'); } $pessoas = array(Joo", Maria", Carlos", Saulo", Julio", Fernanda"); $com_o = array_filter($pessoas, termina_com_o"); ?>

20

Programao PHP Funes array


int extract ( array source [, int opcao [, string prefixo]]): extrai variveis do array. Podem ser passadas opes e prefixo para come de variveis
EXTR_OVERWRITE EXTR_SKIP EXTR_PREFIX_SAME EXTR_PREFIX_ALL EXTR_PREFIX_INVALID EXTR_IF_EXISTS EXTR_PREFIX_IF_EXISTS EXTR_REFS On collision, overwrite the existing variable On collision, do not overwrite the existing variable On collision, prefix the variable name with the prefix specified by parameter three Prefix all variables with the prefix specified by parameter three, whether or not there is a collision Only use the prefix specified by parameter three when variables names would otherwise be illegal (e.g. "$9") Only set variables if they already exist Only create prefixed variables if non-prefixed version already exists Extract variables as references

Programao PHP Funes array


bool in_array ( mixed elemento, array lista [, bool strict]): Verifica se o elemento existe no array. O terceiro parmetro quando no s o valor deve ser igual, mas tambm seu tipo. mixed array_shift ( array array): Obtem primeiro elemento, removendo-o da lista. int array_unshift ( array array, mixed var [, mixed ...]): Recoloca elemento na primeira posio da lista. int array_push ( array array, mixed var [, mix ...]): Coloca elemento na ultima posio da lista. mixed array_pop ( array array): Obtem ultimo elemento, removendo-o da lista.

21

Programao PHP Funo print


void printf ( string formato [, mixed args [, mixed ...]]): Imprime texto incluindo argumentos.
Formato %% %b %c %d %f %o %s %x %X Descrio A literal percent character; no matching parameter is required Parameter is an integer; present it as binary Parameter is an integer; present it as a character with that ASCII value Parameter is an integer; present it as a signed number Parameter is a float; present it as a float Parameter is an integer; present it as octal Parameter is a string; present it as a string Parameter is an integer; present it as hexadecimal with lowercase letters parameter is an integer; present it is hexadecimal with uppercase letters

Programao PHP Funo print


mixed print_r ( var [, bool $resturn = false]): Imprime a varivel de forma human-readable. Se o segundo parmetro for especificado, retorna valor ao invs de escrever na pgina.

22

Dvidas
E-mail:
professor.joaocunha@gmail.com

23