Strings, Arrays e Manipulação Datas em PHP

672 views

Published on

Strings, Arrays e Manipulação Datas em PHP

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
672
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Strings, Arrays e Manipulação Datas em PHP

  1. 1. Manipulação de Strings,
 Arrays e Datas no PHP Prof. Mauricio Garcia Nascimento Prof. Daniel Arndt Alves Introdução ao Desenvolvimento de Sistemas Web com PHP Programa de Verão IME-USP 2014
  2. 2. Interpolação de strings $local = 'mundo'; echo 'Alô $local'; echo "Alô $local"; // Alô $local // Alô mundo ! ! Impressão de caracteres especiais ! echo 'Isto é um 'teste' '; // Isto é um 'teste' ! $a = 10; echo "Valor de $a = "$a" "; !2 // Valor de $a = "10" Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  3. 3. Funções de strings } http://php.net/strings } ~100 funções nativas! ! Exemplo: http://php.net/strlen } !3 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  4. 4. Função strlen Tamanho de uma string ! int strlen (str $str) ! $a = "teste"; echo strlen($a); !4 // 5 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  5. 5. Função substr Parte de uma string ! str substr (str $str, int $start [, int $length] ) ! echo echo echo echo echo !5 substr('abcdef', substr('abcdef', substr('abcdef', substr('abcdef', substr('abcdef', 1); 1, 3); 0, 4); -2, 1); -3); // // // // // bcdef bcd abcd e def Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  6. 6. Função strpos Busca de sub-string em uma string ! int strpos (str $str, str $busca [, int $offset] ) ! $str echo echo echo !6 = 'teste'; strpos($str, 'es'); strpos($str, 'tes'); strpos($str, 'ab'); // 1 // 0 // false Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  7. 7. Função str_replace Substituição de sub-strings em uma string ! mix str_replace (mix $search, mix $replace, mix $subject) ! $str = 'Olá #local#'; $s1 = str_replace('#local#', 'mundo', $str); $s2 = str_replace('a', 'A', 'abcabc'); !7 // olá mundo // AbcAbc Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  8. 8. Função number_format Formatação de números ! str number_format (float $number [, int $decimals [, str $dec_point, str $thousands_sep]]) ! $num echo echo echo !8 = 1234.567; number_format($num, 2); number_format($num, 2, ',', '.'); number_format($num, 2, ',', ''); // 1,234.57 // 1.234,57 // 1234,57 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  9. 9. Impressão / formatação de strings echo $str printf (str $str [, mix $args, ...] ) str sprintf (str $str [, mix $args, ...] ) var_dump ($str) ! echo 'teste'; printf('o valor da %s é %d', 'soma', 100); $txt = sprintf('o valor da %s é %d', 'soma', 100); !9 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  10. 10. “Limpeza” de strings str rtrim (str $str [, str $charlist] ) str ltrim (str $str [, str $charlist] ) str trim (str $str [, str $charlist] ) ! echo trim(' abc '); echo rtrim('abcxxxx', 'x'); !10 // "abc" // "abc" Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  11. 11. Caracteres maiúsculos / minúsculos str strtolower (str $str) str strtoupper (str $str) str ucfirst (str $str) ! echo strtolower('TESTE'); echo strtoupper('Teste'); echo ucfirst('olá mundo'); !11 // "teste" // "TESTE" // "Olá mundo" Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  12. 12. Encadeamento de funções ! $usuario = ' RCostA '; $s1 = strtolower( trim($usuario) ); ! ! ! $email = 'usuario@site.com.br'; $s2 = substr($email, 0, strpos($email, '@') ); $s3 = substr($email, strpos($email, '@')+1 ); !12 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  13. 13. Arrays no PHP $vazio = array(); $a = array(1, 20, 30, 100, -4, 5); $b = array('a', 'teste', 'Olá Mundo'); $a = 1 20 30 100 -4 0 1 2 3 4 índice do elemento !13 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br 5 5
  14. 14. Acesso aos elementos do Array Realizado através do seu [índice] ! $a = array(1, 20, 30, 100, -4, 5); echo $a[0]; echo $a[4]; $soma = $a[1] + 20; $a[3]++; $a[5] += 10; 1 $a = ! 0 20 30 100 -4 5 1 5 2 3 $idx = 2; echo $a[$idx]; $soma = $a[$idx] + $a[$idx+1]; echo $a[$a[0]]; !14 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br 4
  15. 15. Inserção de elementos $a = $a[] $a[] $a[] array(1, 20, 30, 100, -4, 5); = 8; = 10; = $a[0] + $a[1]; $a = 1 20 30 100 -4 0 !15 1 2 3 4 5 8 10 21 5 6 7 8 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  16. 16. Declaração de Array $a = array(10=>10, 20=>1, 3=>100, 39=>-1); $b = array(1=>'a', 100=>'teste', 5=>'Olá'); $c = array('a'=>5, 'b'=>20, 'cod'=>15); $a = 10 1 100 -1 10 $b = a 1 20 3 39 teste Olá 100 5 !16 5 20 15 a $c = b cod Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  17. 17. Acesso aos elementos do Array $a = array(10=>10, 20=>1, 3=>100, 39=>-1); $b = array(1=>'a', 100=>'teste', 5=>'Olá'); $c = array('a'=>5, 'b'=>20, 'cod'=>15); ! echo $a[39]; $idx = 3; echo $a[$idx] + 20; $a = 10 1 100 -1 10 20 3 39 ! echo $b[1]; $frase = $b[5] . $b[100]; $b = a 1 teste Olá 100 5 ! echo $c['b']; echo $c['a'] + $c['cod']; !17 $c = 5 20 15 a b cod Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  18. 18. Declaração de Array $a = array(1, 2, 3); $b = array('joão', 'maria'); $multi = array($a, $b); $multi = !18 1 2 3 0 1 2 joão maria 0 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br 1
  19. 19. Acesso aos elementos do Array $a = array(1, 2, 3); $b = array('joão', 'maria'); $multi = array($a, $b); ! echo $a[0]; echo $b[1]; 2 3 0 ! 1 1 2 joão maria 0 echo $multi[0]; echo $multi[0][1]; $frase = $multi[1][0] . ' e ' . $multi[1][1]; !19 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br 1
  20. 20. Declaração de Array $regs 1 => 2 => 8 => ); = array( array('nome' => 'joão', array('nome' => 'maria', array('nome' => 'antonio', 'idade' => 15), 'idade' => 25), 'idade' => 35) ! echo $regs[2]['nome']; echo $regs[10]['idade']; !20 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  21. 21. Iteração de elementos de um Array } Laço de repetição: foreach } } } Exclusivo para Arrays Executa bloco do laço para cada elemento do Array A cada repetição, recupera elemento atual do Array ! ! $regs = array(10, 20, -5, 100); foreach($regs as $reg) { echo $reg; } ! $regs = array('a'=>10, 'b'=>20, 'c'=>15); foreach($regs as $k => $reg) { echo $k . ':' . $reg; } !21 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  22. 22. Função count Quantidade de elementos em um Array ! int count (array $arr) ! $a = echo $b = echo $c = echo !22 array(); count($a); array(1, 2, 3); count($b); array(array(1,2), array(3,4)) count($c); // 0 // 3 // ? Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  23. 23. Função in_array Busca de elemento no array ! bool in_array (mix $val, array $arr) ! $a = array('a' => 1, 'b' => 3, 'cod' => 10); echo in_array(20, $a); ! if (in_array('joão', $a)) ... !23 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  24. 24. Função implode Conversão de array para string ! str implode (str $val, array $arr) ! $a = array('a', 'b', 'c'); echo implode('@', $a); echo implode('', $a); !24 // "a@b@c" // "abc" Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  25. 25. Função explode Conversão de string para array ! array explode (str $val, str $txt) ! $a = "10-20-30-40-50"; $b = explode('-', $a); // array(10, 20, 30, 40, 50) ! $ip = "10.128.0.10"; $b = explode('.', $ip); !25 // array(10, 128, 0, 10) Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  26. 26. Ordenação de elementos do Array } Por elemento (reconstrói ref. índice) sort (array $arr) rsort (array $arr) ! } Por elemento (preserva ref. índice) asort (array $arr) arsort (array $arr) ! } Por índice, (preserva ref. índice) ksort (array $arr) krsort (array $arr) !26 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  27. 27. Datas no PHP } Não é representada por um tipo de dado específico } } Número inteiro Forma de contagem do tempo } 1 unidade = 1 segundo } Unix Timestamp } Marco zero em 01/01/1970 00:00:00 GMT } Pode ser representado por valores negativos 01/01/1970 00:00:00 GMT ... !27 -2 -1 0 1 2 ... Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br tempo
  28. 28. Datas no PHP Data Unix TimeStamp 01/01/1970 00:00:01 1 01/01/1970 00:01:00 60 01/01/1970 01:00:00 3600 31/12/1969 00:00:00 -86.400 (24*3600) 01/01/2000 00:00:00 17/01/2011 13:00:00 !28 946.684.800 1.295.269.200 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  29. 29. Diferença entre datas //segundos entre as 2 datas $data_fim - $data_inicio ! //horas entre as 2 datas ($data_fim - $data_inicio) / 3600 ! /* "17/09/2007 20:15:00 - 01/01/2007 00:00:00" 1.190.060.100 – 1.167.609.600 = 22.450.500 segs. 22.450.500 / 3.600 = 6.236 hrs. */ !29 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  30. 30. Função time Recuperar Timestamp atual do sistema ! int time () ! echo time(); $t = time() + 60*60*24; !30 // data e hora atual (timestamp) // +24hrs Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  31. 31. Função getdate Recuperar informações sobre um Timestamp ! array getdate ( [int $timestamp] ) ! ! Array $arr = getdate(); ( [seconds] [minutes] [hours] [mday] [wday] [mon] [year] [yday] [weekday] [month] [0] ! $ts = strtotime('06/17/2003 21:58:40'); $arr = getdate($ts); => => => => => => => => => => => ) !31 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br 40 58 21 17 2 6 2003 167 Tuesday June 1055901520
  32. 32. Função date Formatar um Timestamp para um formato textual ! str date (str $formato [, int $timestamp] ) ! ! // 18/09/2007 20:50:02 echo date('d/m/Y H:i:s'); Outros formatos em http://php.net/date !32 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  33. 33. Função checkdate Valida uma data Útil para checagem de data fornecida pelo usuário ! bool checkdate (int $mon, int $day, int $year) ! checkdate(1, 1, 2006); checkdate(1, 40, 2006); !33 // true // false Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br
  34. 34. Função mktime Calcular um Timestamp ! int mktime (int $hour, int $min, int $sec, int $mon, int $day, int $year) ! mktime(0, 0, 0, 12, 25, 2006); mktime(10, 0, 0, 1, 1, 2007); mktime(0, 0, 0, 15, 1, 2006); mktime(0, 0, 0, 5, 0, 2006); !34 // // // // 25/12/2006 01/01/2007 01/03/2007 30/04/2006 00:00:00 10:00:00 00:00:00 00:00:00 Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014 Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
 Prof. Daniel Arndt Alves – progdan@progdan.pro.br

×