Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Manipulação de Arrays e Variáveis em PHP, Notas de estudo de Design

Informações sobre como manipular arrays e variáveis em php. Ele inclui exemplos de como ordenar elementos de um array, criar e utilizar funções, definir constantes, e trabalhar com valores default de parâmetros. Além disso, é discutido o uso de comandos como split(), fopen(), filesize() e copy() para ler e manipular arquivos. O documento também aborda o uso de estruturas condicionais e laços de repetição.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 12/08/2009

monica-martins-13
monica-martins-13 🇧🇷

5

(3)

8 documentos

1 / 104

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
96
Strings
Nome do tipo Espaço utilizado
CHAR(M) M bytes, 1 <= M <= 255
VARCHAR(M) L+1 bytes, onde L <= M e 1 <= M <= 255
TINYBLOB, TINYTEXT L+1 bytes, onde L < 2^8
BLOB, TEXT L+2 bytes, onde L < 2^16
MEDIUMBLOB,
MEDIUMTEXT L+3 bytes, onde L < 2^24
LONGBLOB,
LONGTEXT L+4 bytes, onde L < 2^32
ENUM('value1','value2',...) 1 ou 2 bytes
SET('value1','value2',...) 1, 2, 3, 4 ou 8 bytes
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Manipulação de Arrays e Variáveis em PHP e outras Notas de estudo em PDF para Design, somente na Docsity!

Strings

Nome do tipo Espaço utilizado CHAR(M) M bytes, 1 <= M <= 255 VARCHAR(M) L+1 bytes, onde L <= M e 1 <= M <= 255 TINYBLOB, TINYTEXT L+1 bytes, onde L < 2^ BLOB, TEXT L+2 bytes, onde L < 2^ MEDIUMBLOB, MEDIUMTEXT L+3 bytes, onde L < 2^ LONGBLOB, LONGTEXT

L+4 bytes, onde L < 2^

ENUM('value1','value2',...) 1 ou 2 bytes SET('value1','value2',...) 1, 2, 3, 4 ou 8 bytes

APÊNDICE 03 – Tipos suportados pelo mySQL

Numéricos

Nome do tipo Espaço utilizado TINYINT 1 byte SMALLINT 2 bytes MEDIUMINT 3 bytes INT 4 bytes INTEGER 4 bytes BIGINT 8 bytes FLOAT(X) 4 if X <= 24 or 8 if 25 <= X <= 53 FLOAT 4 bytes DOUBLE 8 bytes DOUBLE PRECISION 8 bytes REAL 8 bytes DECIMAL(M,D) M bytes (D+2, if M < D) NUMERIC(M,D) M bytes (D+2, if M < D)

Data e Hora

Nome do tipo Espaço utilizado DATE 3 bytes DATETIME 8 bytes TIMESTAMP 4 bytes TIME 3 bytes YEAR 1 byte

asort void asort(array &arr); Tem o funcionamento bastante semelhante à função sort. Ordena os elementos de um array em ordem crescente, porém mantém os relacionamentos com os índices.

arsort void arsort(array &arr); Funciona de maneira inversa à função asort. Ordena os elementos de um array em ordem decrescente e mantém os relacionamentos dos elementos com os índices.

ksort void ksort(array &arr); Função de ordenação baseada nos índices. Ordena os elementos de um array de acordo com seus índices, em ordem crescente, mantendo os relacionamentos.

usort void usort(array &arr, function compara); Esta é uma função que utiliza outra função como parâmetro. Ordena os elementos de um array sem manter os relacionamentos com os índices, e utiliza para efeito de comparação uma função definida pelo usuário, que deve comparar dois elementos do array e retornar 0, 1 ou –1, de acordo com qualquer critério estabelecido pelo usuário.

uasort void uasort(array &arr, function compara); Esta função também utiliza outra função como parâmetro. Ordena os elementos de um array e mantém os relacionamentos com os índices, utilizando para efeito de comparação uma função definida pelo usuário, que deve comparar dois

índice do valor atual, e os elementos de índices 1 e “value” contém o valor do elemento atual indicado pelo ponteiro. Esta função pode ser utilizada para percorrer todos os elementos de um array e determinar se já foi encontrado o último elemento, pois no caso de haver um elemento vazio, a função não retornará o valor false. A função each só retorna false depois q o último elemento do array foi encontrado.

Exemplo: /*função que percorre todos os elementos de um array e imprime seus índices e valores */ function imprime_array($arr) { reset($arr); while (list($chave,$valor) = each($arr)) echo “Chave: $chave. Valor: $valor”; }

Funções de ordenação

São funções que servem para arrumar os elementos de um array de acordo com determinados critérios. Estes critérios são: manutenção ou não da associação entre índices e elementos; ordenação por elementos ou por índices; função de comparação entre dois elementos.

sort void sort(array &arr); A função mais simples de ordenação de arrays. Ordena os elementos de um array em ordem crescente, sem manter os relacionamentos com os índices.

rsort void rsort(array &arr); Funciona de maneir ainversa à função sort. Ordena os elementos de um array em ordem decrescente, sem manter os relacionamentos com os índices.

A função range cria um array cujos elementos são os inteiros pertencentes ao intervalo fornecido, inclusive. Se o valor do primeiro parâmetro for maior do que o do segundo, a função retorna false (valor vazio).

shuffle void shuffle(array &arr); Esta função “embaralha” o array, ou seja, troca as posições dos elementos aleatoriamente e não retorna valor algum.

sizeof int sizeof(array arr); Retorna um valor inteiro contendo o número de elementos de um array. Se for utilizada com uma variável cujo valor não é do tipo array, retorna 1. Se a variável não estiver setada ou for um array vazio, retorna 0.

Funções de “navegação”

Toda variável do tipo array possui um ponteiro interno indicando o próximo elemento a ser acessado no caso de não ser especificado um índice. As funções seguintes servem para modificar esse ponteiro, permitindo assim percorrer um array para verificar seu conteúdo (chaves e elementos).

reset mixed reset(array arr); Seta o ponteiro interno para o primeiro elemento do array, e retorna o conteúdo desse elemento.

end mixed end(array arr); Seta o ponteiro interno para o último elemento do array, e retorna o conteúdo desse elemento.

APÊNDICE 02 - Funções para tratamento de arrays

Funções Genéricas

Array array array(...); É a função que cria um array a partir dos parâmetros forncidos. É possível fornecer o índice de cada elemento. Esse índice pode ser um valor de qualquer tipo, e não apenas de inteiro. Se o índice não for fornecido o PHP atribui um valor inteiro sequencial, a partir do 0 ou do último índice inteiro explicitado. Vejamos alguns exemplos:

Exemplo 1 $teste = array("um", "dois","tr"=>"tres",5=>"quatro","cinco");

Temos o seguinte mapeamento: 0 => “um” (0 é o primeiro índice, se não houver um explicito) 1 => “dois” (o inteiro seguinte) “tr” => “tres” 5 => “quatro” (valor explicitado) 6 => “cinco” (o inteiro seguinte ao último atribuído, e não o próximo valor, que seria 2)

Exemplo 2 $teste = array("um", 6=>"dois","tr"=>"tres",5=>"quatro","cinco");

Temos o seguinte mapeamento: 0 => “um” 6 => “dois” “tr” => tres 5 => “quatro” (seria 7, se não fosse explicitado) 7 => “cinco” (seria 6, se não estivesse ocupado)

Em geral, não é recomendável utilizar arrays com vários tipos de índices, já que isso pode confundir o programador. No caso de realmente haver a necessidade de utilizar esse recurso, deve-se ter bastante atenção ao manipular os índices do array.

range array range(int minimo, int maximo);

strtolower string strtolower(string str); Retorna a string fornecida com todas as letras minúsculas. Exemplo: strtolower(“Teste”); // retorna “teste”

strtoupper string strtoupper(string str); Retorna a string fornecida com todas as letras maiúsculas.

Exemplo: strtolower(“Teste”); // retorna “TESTE”

ucfirst string ucfirst(string str); Retorna a string fornecida com o primeiro caracter convertido para letra maiúscula.

Exemplo: ucfirst(“teste de funcao”); // retorna “Teste de funcao”

ucwords string ucwords(string str); Retorna a string fornecida com todas as palavras iniciadas por letras maiúsculas.

Exemplo: ucwords(“teste de funcao”); // retorna “Teste De Funcao”

Funções para edição de strings

chop string chop(string str); Retira espaços e linhas em branco do final da string fornecida.

Exemplo: chop(“ Teste \n \n “); // retorna “ Teste”

ltrim string ltrim(string str); Retira espaços e linhas em branco do final da string fornecida.

Exemplo: ltrim(“ Teste \n \n “); // retorna “Teste \n \n”

trim string trim(string str);

Retira espaços e linhas em branco do início e do final da string fornecida.

Exemplo: trim(“ Teste \n \n “); // retorna “Teste”

strrev string strrev(string str); Retorna a string fornecida invertida.

Exemplo: strrev(“Teste”); // retorna “etseT”

explode array explode(string padrao, string str); Funciona de maneira bastante semelhante à função split, com a diferença que não é possível estabelecer um limite para o número de elementos do array.

Comparações entre strings

similar_text int similar_text(string str1, string str2, double [porcentagem]);

Compara as duas strings fornecidas e retorna o número de caracteres coincidentes. Opcionalmente pode ser fornecida uma variável, passada por referência (ver tópico sobre funções) , que receberá o valor percentual de igualdade entre as strings. Esta função é case sensitive , ou seja, maiúsculas e minúsculas são tratadas como diferentes.

Exemplo: $num = similar_text("teste", "testando",&$porc); As variáveis passam a ter os seguintes valores: $num == 4; $porc == 61.

strcasecmp int strcasecmp(string str1, string str2); Compara as duas strings e retorna 0 (zero) se forem iguais, um valor maior que zero se str1 > str2, e um valor menor que zero se str1 < str2. Esta função é case insensitive , ou seja, maiúsculas e minúsculas são tratadas como iguais.

strcmp int strcasecmp(string str1, string str2);

urldecode string urldecode(string str); Funciona de maneira inversa a urlencode, desta vez decodificando a string fornecida do formato urlencode para texto normal.

Funções relacionadas a arrays

Implode e join string implode(string separador, array partes); string join(string separador, array partes); As duas funções são idênticas. Retornam uma string contendo todos os elementos do array fornecido separados pela string também fornecida.

Exemplo: $partes = array("a", "casa número", 13, "é azul"); $inteiro = join(" ",$partes); $inteiro passa a conter a string: “a casa número 13 é azul”

split array split(string padrao, string str, int [limite]); Retorna um array contendo partes da string fornecida separadas pelo padrão fornecido, podendo limitar o número de elementos do array.

Exemplo: $data = “11/14/1975”; $data_array = split(“/”,$data); O código acima faz com que a variável $data_array receba o valor: array(11,14,1975);

APÊNDICE 01 - Funções para tratamento de strings

Funções relacionadas a HTML

htmlspecialchars string htmlspecialchars(string str); Retorna a string fornecida, substituindo os seguintes caracteres:

  • & para '&'
  • " para '"'
  • < para '<'
  • para ‘>'

htmlentities string htmlentities(string str); Funciona de maneira semelhante ao comando anterior, mas de maneira mais completa, pois converte todos os caracteres da string que possuem uma representação especial em html, como por exemplo:

  • º para 'º'
  • ª para 'ª'
  • á para 'á'
  • ç para ‘ç'

nl2br string nl2br(string str); Retorna a string fornecida substituindo todas as quebras de linha (“\n”) por quebras de linhas em html (“
”).

Exemplo: echo nl2br(“Mauricio\nVivas\n”); Imprime: Maurício
Vivas

20. Bibliografia e Referências

A pesquisa foi baseada no manual de PHP, disponível em www.php.net , e em diversos tutoriais disponíveis no site www.phpbuilder.com. Esses dois endereços contém uma vasta documentação sobre a linguagem, além de endereços para listas de discussão, onde pode-se solicitar ajuda de programadores mais experientes. Uma boa referência em português é a lista “PHP para quem fala Português” , que pode ser assinada no endereço www.egroups.com/group/php-pt/. Em inglês, além dos endereços citados acima, uma boa fonte é o site PHPWizard , que pode ser encontrado em www.phpwizard.net. Também em inglês, uma documentação mais completa sobre cookies pode ser encontrada em www.netscape.com/newsref/std/cookie_spec.html.

<? $id = fopen($teste, “r”); /* abre o arquivo para leitura */ $teste_conteudo = fread($id,filesize($teste)); /* le o conteudo do arquivo e grava na variavel $conteudo */ fclose($id); /* fecha o arquivo */ ?>

Com o exemplo acima, teremos o conteudo do arquivo enviado armazenado na string $teste_conteudo, podendo assim ser armazenado onde for mais adequado.

<? $arquivo = “teste.gif”; /* este nome deve ser alterado para o nome do arquivo a ser utilizado */ $id = fopen($arquivo, “r”); /* abre o arquivo para leitura */ $conteudo = fread($id,filesize($arquivo)); /* le o conteudo do arquivo e grava na variavel $conteudo */ fclose($id); /* fecha o arquivo */

header(“Content-type: image/gif”); /* esta linha envia um header ao browser informando que o tipo de arquivo que está sendo enviado é uma imagem no formato gif */ echo $conteudo; /* esta última linha envia ao browser o conteúdo do arquivo */ ?>

Para que o exemplo funcione corretamente é preciso que o script seja apenas o que está listado, não podendo haver texto algum (nem mesmo espaço ou linha em branco) antes e depois do script. Visualisando o script pelo browser, teremos a imagem selecionada.

Uploads com formulários HTML

Vimos no capítulo 03 que os formulários HTML têm um tipo de componente utilizado em upload de arquivos. Vimos também que todos os elementos de formulários quando submetidos a scripts PHP criam variáveis com os mesmos nomes. mas no caso do elemento “file”, o tratamento é diferente. Ao ser submetido o formulário, o arquivo uploadeado é gravado num arquivo temporário do disco, que será apagado ao final da execução do script. Além disso, quatro variáveis são criadas no contexto do script PHP. $meuarquivo – nome do arquivo temporario criado; $meuarquivo_name – nome original do arquivo selecionado pelo usuário; $meuarquivo_size – tamanho do arquivo enviado; $meuarquivo_type – tipo do arquivo, se esta informação for fornecida pelo browser; Neste exemplo, “meu arquivo” é o nome do elemento do formulário. Para armazenar o conteúdo de um arquivo numa tabela da base de dados ou até num arquivo definitivo (neste segundo caso é mais simples utilizar a função copy) podemos utilizar o seguinte script, supondo que o campo do formulário tenha o nome “teste”: