Strings, Arrays e Manipulação Datas em PHP

  • 262 views
Uploaded on

Strings, Arrays e Manipulação Datas em PHP

Strings, Arrays e Manipulação Datas em PHP

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
262
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
8
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. “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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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