CAPÍTULO III
Utilizando Arrays
PHP E MYSQL
Array
Um array é uma variável que armazena um conjunto ou
seqüência de valores.
Um array em Php pode ter muitos elementos, e cada
elemento armazenar diversos valores como: texto,
números, ou outro array.
Em php o array pode ser associativo ou numericamente
indexado.
Associativo
Indexado
(“one”=>12, “dois”=> 34 ...)
(1=>’a’,2=>’b’, 3=>12,...)
Mixado
(1=>2.5,’nome’=>’Everton’)
PHP E MYSQL
Array numericamente
Exemplo
indexado
$produto = array(‘everton’,’hipolito’,’freitas’);
$numeros = range(1,10)
Cria um array com uma sequencia de números de 1 a 10.
Acessando o conteúdo de um array
Acesse através do nome da variável e seu
índice.
Exemplo
$produto[0] //obtem elemento zero do array
Echo $produto[0];
Alterando o conteúdo
Utilize o operador = .
de uma posição do array.
Exemplo
$produto[1]=“Joao”; //altera a posição 1 do array produtos para
joao.
Echo $produto[1];
PHP E MYSQL
Alternativa
para se criar um array
$produto[0]=‘everton’
$produto[1] = ‘hipolito’
$produto[2]= ’freitas’;
Observação
O array é redimensionado dinamicamente a medida que se
adiciona posições a ele.
Acessando array através
For($i=0;$i<3;$i++){
Echo $produto[$i];
}
de loops
OU
Foreach ($produtos as $variavel){
echo $variavel;
}
PHP E MYSQL
Array com diferentes índices
O php suporta arrays em que podemos associar qualquer
chave ou índice.
Inicializando um array
$produtos = array(‘one’=> 12, ‘maria’=>34, ‘joao’=>25);
Sintaxe
Apresenta-se o nome da chave seguido do sinal =>, e a seguir
especifica o valor do campo.
Acessando o conteúdo do array
Echo $produto[‘joao’];
Echo $produto[‘one’]
PHP E MYSQL
Formas de criar Array com diferentes índices
$produtos = array(‘one’=> 12);
$produtos[‘joao’] = 34;
$produtos[‘maria’] = 56;
Usando loops para exibir o conteúdo do array.
Foreach ($produtos as $temp){
Echo $temp
}
OU
Foreach ($produtos as $Chave => $Valores){
Echo $Chave.” tem o conteúdo “. $Valores;
}
OU
While( $elemento = each($produtos)){
echo $elemento[‘key’];
echo $elemento[‘value’];
}
PHP E MYSQL
Foreach ($produtos as $temp){
Echo $temp
}
OBTEM O CONTEÚDO DO ARRAY E ARMAZENA-O NA VARIÁVEL $TEMP
EM CADA EXECUÇÃO DO LAÇO FOREACH.
Foreach ($produtos as $Chave => $Valores){
Echo $Chave.” tem o conteúdo “. $Valores;
}
OBTEM A CHAVE DO ARRAY $PRODUTOS E ARMAZENA NA VARIÁVEL
$CHAVE.
OBTEM O CONTEÚDO DO ARRAY $PRODUTOS E ARMAZENA-O NA
VARIÁVEL $VALORES EM CADA EXECUÇÃO DO LAÇO FOREACH.
While( $elemento = each($produtos)){
echo $elemento[‘key’];
echo $elemento[‘value’];
}
A FUNÇÃO EACH() RETORNA PARA A VARIAVEL $ELEMENTO UM ARRAY
ONDE NA POSIÇÃO ‘KEY’ CONTÉM A CHAVE DO ARRAY $PRODUTOS, E
NA POSIÇÃO ‘VALUE’ CONTÉM O CONTEÚDO DO ARRAY $PRODUTOS.
PHP E MYSQL
Construtor list
Permite dividir um array em um conjunto de valores.
$t = array(1,2,3,4,5);
List($a,$b) = $t;
PHP E MYSQL
Array Multidimensionais
Podemos criar array multidimensionais.
Exemplos
$valores=array(array(1,2,3), array(4,5,6));
Valores é composto por 2 linhas e 3 colunas.
$Valores[0][0] //contem o valor 1
$Valores[0][1] //contem o valor 2
$Valores[0][2] //contem o valor 3
$Valores[1][0] //contem o valor 4
$Valores[1][1] //contem o valor 5
$Valores[1][2] //contem o valor 6
PHP E MYSQL
Array Multidimensionais
Exemplos
$valores=array(array(“everton”,26), array(“joao”, 32));
Valores é composto por 2 linhas e 2 colunas.
$Valores[0][0] //contem o valor Everton
$Valores[0][1] //contem o valor 26
$Valores[1][0] //contem o valor Joao
$Valores[1][1] //contem o valor 32
PHP E MYSQL
Array Multidimensionais
Percorrendo o vetor através de laços.
$valores=array(array(1,2,3), array(4,5,6));
for($i=0;$i<2;$i++){
for($j=0;$j<3;$j++){
echo $valores[$i][$j].”<br>”;
}
}
Exibindo um único valor do vetor
Echo $valores[0][2];
PHP E MYSQL
Classificando arrays
Funções utilizadas para classificação de arrays.
Classificação crescente
Sort()
Asort()
Ksort()
Classificação decrescente
Rsort()
Arsort()
Krsort()
PHP E MYSQL
Classificando arrays
Sort(<var_array>)
A função sort() é utilizada para array com chaves numéricas. sort()
classifica o array em ordem crescente.
Exemplo
$a = Array(1,4,5,2,7);
$b = sort($a);
$b estará ordenado por ordem crescente, ou seja, conterá os seguintes
valores: 1,2,4,5,7.
PHP E MYSQL
Classificando arrays
Asort(<var_array>)
A função asort() é utilizada para ordenar array com
chaves descritivas.
Ela ordena os valores e trocam as ordens das chaves
juntamente.
$prices = array( ‘Tires’=>100, ‘Oil’=>10, ‘Spark Plugs’=>4 );
asort($prices);
[Spark Plugs] => 4 [Oil] => 10 [Tires] => 100
PHP E MYSQL
Classificando arrays
Ksort(<var_array>)
A função ksort() é utilizada para ordenar array com
chaves descritivas.
A função Ksort() ordena o array de acordo com o valor de
cada chave(ou seja, índice).
$a = Array(’b’=>1,‘a’=>5,’c’=>4);
$b = ksort($a);
$b estará ordenado por ordem crescente, ou seja, conterá os seguintes
valores: [‘a’=>5,’b’=>1 , ’c’=>4]
PHP E MYSQL
Classificando arrays
A
classificação pode ser feita de forma
decrescente, para isso o funcionamento da função
é o mesmo, porém, de forma decrescente.
As funções são:
Rsort()
Arsort()
Krsort()
PHP E MYSQL
Descobrindo o tamanho de um array
Sizeof(var_array)
Retorna o número de elementos em um array.
$a = array(1,2,3,4,5,6,7,8,9);
Echo sizeof($a); //resultado 9 (indica 9 elementos)
PHP E MYSQL
Funções para manipulação de array
Explode(string separator,string string)
Retorna um array, conjunto de valores.
Parâmetro separator indica qual string será utilizada como
separador
Parâmetro string indica qual string será quebrada em
partes
Um parametro limit pode ser passado para indicar o
tamanho do array a ser criado.
$x = “15:42, 20th April\t4 tires\t1 oil\t6 spark plugs\t$434.00”
$t = explode (“\t”, $x); // retorno sera um array
Echo $t[0];//15:42, 20th April
Echo $t[1];//4 tires
PHP E MYSQL
Funções para manipulação de array
Função extract
Cria variáveis escalares com o conteúdo do array.
Os nomes das variáveis serão os nomes definidos na
chave do array.
$array = array( ‘key1’ => ‘value1’, ‘key2’ => ‘value2’, ‘key3’ => ‘value3’);
extract($array);
echo “$key1 $key2 $key3”;
PHP E MYSQL
Outras funções para manipulação de array poderá ser
encontrado
em:
http://br2.php.net/manual/en/ref.array.php
Capítulo 3 do livro.
PHP e MySql
Desenvolvimento Web
Luke Welling
Laura Thonson