·

Engenharia de Software ·

Introdução à Lógica e Programação

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

5º Aula Referência da Linguagem Objetivos de aprendizagem Ao término desta aula vocês serão capazes de desenvolver programas utilizando funções próprias do PHP Olá Bemvindos à Aula 5 da matéria Desenvolvimento Voltado à Web I Na aula anterior a programação orientada a objetos foi apresentada desde suas classes com os atributos e métodos aos objetos instanciados bem como os relacionamentos possíveis entre classes a associação a agregação a composição e a herança Nesta aula será demonstrada a utilização de funções próprias do PHP que facilitarão a manipulação de arrays datas json email e erros Leia atentamente a esta aula e se tiver alguma dúvida use os recursos que estão na sua área do aluno Bons estudos 32 Desenvolvimento Voltado à Web I Seções de estudo 1 PHP Array 2 PHP Date 3 PHP JSON 1 PHP Array Na aula 2 foi apresentado o array que para ser instanciado utiliza a função array e sua informação pode ser inserida diretamente a uma determinada chave desse array Nas subseções abaixo veremos funções do PHP que facilitam a utilização do array no PHP arraycombine A partir de dois arrays um contendo as chaves e outro os valores um terceiro array combinando chaves e valores é retornado COMBINE 2019 php a arrayverde vermelho amarelo b arrayabacate maçã banana c arraycombinea b printrc resultado Array green abacate red maçã yellow banana arraydiff Compara um array com um ou mais arrays retornando somente os elementos que estiverem presentes no primeiro que não estiverem presentes nos demais Caso no primeiro array contenha elementos repetidos são tratados como um só DIFF 2019 php array1 arraya verde vermelho azul vermelho array2 arrayb verde amarelo vermelho result arraydiffarray1 array2 printrresult resultado Array 1 azul arraykeyexists Essa função retorna TRUE caso a chave pesquisada seja encontrada no array ou FALSE caso não seja encontrada As chaves de um array são únicas KEYEXISTS 2019 php buscaarray arrayprimeiro 1 segundo 4 if arraykeyexistsprimeiro buscaarray echo O elemento primeiro está no array resultado O elemento primeiro está no array arraymap Uma função é passada por parâmetro e ela será executada para cada um dos elementos do array Caso a função tenha mais de um parâmetro mais de um array deve ser passado por parâmetro para a função mapear MAP 2019 php function cuben returnn n n a array1 2 3 4 5 b arraymapcube a printrb resultado Array 0 1 1 8 2 27 3 64 4 125 arraymerge Essa função realiza a fusão de um ou mais arrays Os elementos dos arrays serão incluídos na sequência que os arrays forem passados por parâmetro na função Caso algum elemento contenha uma chave string que também esteja em outro array o primeiro é sobrescrito no fim a última ocorrência da chave é o valor que estará no array resultante As chaves com valor numérico são incluídas com novas chaves numéricas mesmo que haja repetição da chave MERGE 2019 33 php array1 arraycor vermelho 2 4 array2 arraya b cor verde forma trapezoide 4 result arraymergearray1 array2 printrresult resultado Array cor verde 0 2 1 4 2 a 3 b forma trapezoide 4 4 arraypop e arraypush Funções que podem ser utilizadas quando o comportamento do array deve ser semelhante a uma pilha Enquanto o arraypop remove e retorna o último elemento do array o arraypush adiciona um ou mais elementos no fim do array POP 2019 PUSH 2019 php cesta arraylaranja morango arraypushcesta melancia batata fruta arraypopcesta Echo fruta printrcesta resultado batata Array 0 laranja 1 morango 2 melancia arraysearch e inarray Muitas vezes é necessário descobrir se um determinado valor se encontra em um array Para isso utilizase as funções arraysearch e inarray a primeira ao encontrar o valor no array retorna a chave em que se encontra e a segunda retorna TRUE se o valor existir no array e FALSE caso contrário SEARCH 2019 INARRAY 2019 php array array0 blue 1 red 2 green 3 red key arraysearchgreen array echo key key arraysearchred array echo key res inarrayblack array echo res resultado 2 1 FALSE asort e ksort A ordenação dos elementos de um array tanto pelo seu valor quanto por sua chave pode simplificar muito o desenvolvimento Para isso usamos as funções asort ordena pelos valores e o ksort ordena pelas chaves ASORT 2019 KSORT 2019 php frutas arrayd limao a laranja b banana c melancia asortfrutas foreach frutas as chave valor echo chave valor echo ksortfrutas foreach fruits as key val echo chave valor resultado b banana a laranja d limao c melancia a laranja b banana c maçã d limao count Durante a programação em alguns momentos não é possível saber ao certo qual será a quantidade de elementos que um array pode conter já que a inclusão de elementos pode ser dinâmica A função count retorna a quantidade de elementos que podem ser encontrados no array COUNT 2019 34 Desenvolvimento Voltado à Web I php frutas arrayd limao a laranja b banana c melancia result countfrutas echo result resultado 4 explode e implode Essas funções manipulam dois tipos que são muito utilizados no PHP os arrays e as Strings A função explode consegue dividir uma string a partir de uma substring delimitadora para criar um array Toda vez que a função encontra essa substring o conteúdo antes dela na string é colocado em uma posição do array EXPLODE 2019 O implode vai na linha contrária por parâmetro é indicado o elemento que irá concatenar cada valor encontrado no array É utilizado para gerar uma string contendo todos os valores separados por vírgula IMPLODE 2019 php pizza piece1 piece2 piece3 piece4 piece5 piece6 pieces explode pizza printrpieces echo echo implode pieces resultado Array 0 piece1 1 piece2 2 piece3 3 piece4 4 piece5 5 piece6 piece2piece3piece4piece5piece6 2 PHP Date Outros tipos de dados muito trabalhados no PHP são as datas e horas As funções do PHP simplificam a manipulação das datas já que para cada região o padrão de data e hora pode ser modificado date A função date retorna uma string no padrão desejado da data e hora local ou até de um valor predefinido Muito utilizada quando um sistema deve atender vários idiomas DATE 2019 php echo datedmy his echo datedmY echo dateYmd resultado 251019 104310 25102019 20191025 datedefaulttimezoneset Como já explicado além de cada região ter um padrão de exibição de data cada uma pode ter também um fuso horário diferente O fuso horário que será retornado será o que estiver setado no servidor que o PHP está instalado mas é possível setar o fuso horário em tempo de execução utilizando a função datedefaulttimezoneset que modifica o padrão de todas as funções de data e hora do script TIMEZONE 2019 A lista com todos os fusos horários das Américas pode ser encontrada no link httpswwwphpnetmanualpt BRtimezonesamericaphp php datedefaulttimezonesetAmerica CampoGrande diff Existem diversas outras funções que o PHP já possui para manipular datas que podem ser encontradas na documentação do PHP Como ponto de partida explicaremos o funcionamento da função diff que como o próprio nome já sugere retorna a diferença entre dois objetos do tipo DateTime DIFF 2019 Os objetos do tipo DateTime podem ser criados a partir da função DateTime que pode receber por parâmetro a data que o objeto deverá ter Após criados os objetos a serem comparados o método diff é chamado para comparar uma data a outra Após isso utilizase o format para criar um padrão de retorno para o resultado da diferença entre as datas php datetime1 new DateTime20191025 datetime2 new DateTime20191027 interval datetime1 diffdatetime2 echo intervalformatRa dias resultado 2 dias 35 3 PHP JSON O JSON é uma notação que simplifica a troca de dados entre sistemas Por mais que seu nome seja um acrônimo para JavaScript Object Notation ela não se limita a ser utilizada somente no JavaScript O PHP possui algumas funções que facilitam a manipulação do JSON GAMA 2011 Gama 2011 cita ainda algumas vantagens do JSON sobre outras notações como o XML são elas 1 Leitura mais simples 2 Analisador mais fácil 3 JSON é tipado suporta objetos 4 Transporte e execução de dados com maior velocidade 5 Arquivo com tamanho reduzido O exemplo de JSON abaixo representa vários carros que serão retornados pelo servidor carros id 0 modelo Celta placa AAA1234 id 1 modelo Palio placa BBB1234 jsondecode Essa função decodifica uma string que foi enviada e a converte em um objeto que pode ser manipulado diretamente pelo PHP DECODE 2019 A função vardump mostra informações sobre a variável que é passada por parâmetro Uma representação estruturada com tipos e valores indicada para visualizar o conteúdo de arrays e objetos php json a1b2c3d4e5 echo jsonan vardumpjsondecodejson resultado 1 objectstdClass1 5 a int1 b int2 c int3 d int4 e int5 jsonencode Contrária ao jsondecode a função jsonencode retorna uma string a partir de um elemento que é passado por parâmetro Pode ser qualquer tipo do PHP tal como o array ENCODE 2019 php arr arraya 1 b 2 c 3 d 4 e 5 echo jsonencodearr resultado a1b2c3d4e5 Chegamos ao final da quinta aula Vamos recordar Retomando a aula 1 PHP Array Na primeira seção as funções predefinidas no PHP que são capazes de manipular o array foram apresentadas 2 PHP Date Na segunda seção foram detalhadas as funções que manipulam data e hora 3 PHP JSON Em seguida as funções que convertem string para JSON e o contrário foram exemplificadas SOARES W Programação Web com PHP 5 Érica 2014 BEIGHLEY L MORRISON M Use a Cabeça PHP MySQL Alta Books 2010 SILVA J M C PHP na prática 200 Exercícios resolvidos Elsevier 2014 BENTO E J Desenvolvimento web com PHP e MySQL Editora Casa do Código 2014 Vale a pena ler Vale a pena 36 Desenvolvimento Voltado à Web I Combine In PHP Documentation arraycombine 2019 Disponível em httpswwwphpnetmanualpt BRfunctionarraycombinephp Acesso em 25 out 2019 Diff In PHP Documentation arraydiff 2019 Disponível em httpswwwphpnetmanualptBR functionarraydiffphp Acesso em 25 out 2019 KeyExists In PHP Documentation arraykeyexists 2019 Disponível em httpswwwphpnetmanualpt BRfunctionarraykeyexistsphp Acesso em 25 out 2019 Map In PHP Documentation arraymap 2019 Disponível em httpswwwphpnetmanualptBR functionarraymapphp Acesso em 25 out 2019 Merge In PHP Documentation arraymerge 2019 Disponível em httpswwwphpnetmanualptBR functionarraymergephp Acesso em 25 out 2019 Pop In PHP Documentation arraypop 2019 Disponível em httpswwwphpnetmanualptBR functionarraypopphp Acesso em 25 out 2019 Push In PHP Documentation arraypush 2019 Disponível em httpswwwphpnetmanualptBR functionarraypushphp Acesso em 25 out 2019 Search In PHP Documentation arraysearch 2019 Disponível em httpswwwphpnetmanualptBR functionarraysearchphp Acesso em 25 out 2019 Inarray In PHP Documentation inarray 2019 Disponível em httpswwwphpnetmanualptBR functioninarrayphp Acesso em 25 out 2019 Asort In PHP Documentation asort 2019 Disponível em httpswwwphpnetmanualptBRfunctionasort php Acesso em 25 out 2019 Ksort In PHP Documentation ksort 2019 Disponível em httpswwwphpnetmanualptBR functionksortphp Acesso em 25 out 2019 Date In PHP Documentation date 2019 Disponível em httpswwwphpnetmanualptBRfunctiondate php Acesso em 25 out 2019 Timezone In PHP Documentation datedefault timezoneset 2019 Disponível em httpswwwphpnet manualptBRfunctiondatedefaulttimezonesetphp Acesso em 25 out 2019 Diff In PHP Documentation datediff 2019 Disponível em httpswwwphpnetmanualptBR datetimediffphp Acesso em 25 out 2019 GAMA A In O que é JSON 2011 Disponível em httpswwwdevmediacombroqueejson23166 Acesso em 25 out 2019 Decode In PHP Documentation jsondecode 2019 Disponível em httpswwwphpnetmanualptBR functionjsondecodephp Acesso em 25 out 2019 Encode In PHP Documentation jsonencode 2019 Disponível em httpswwwphpnetmanualptBR functionjsonencodephp Acesso em 25 out 2019 Vale a pena acessar Minhas anotações