Bacharel em Ciência da Computação (UFG)
Especializando em Engenharia de Software
Analista de Sistemas – SIGMA / MDIC
Professor Formador EAD – NEAD/ETEB
george@georgemendonca.com.br
http://www.georgemendonca.com.br
Array
• Introdução
– Um array no PHP é atualmente um mapa ordenado.
– Um mapa é um tipo que relaciona valores para chaves.
– Este tipo é otimizado de várias maneiras, então você pode
usá-lo como um array real, ou uma lista (vetor), hashtable
(que é uma implementação de mapa), dicionário, coleção,
pilha, fila e provavelmente mais.
– Como você pode ter outro array PHP como um valor, você
pode facilmente simular árvores.
Array
13/02/2011 2
• Introdução
– Arrays simples e multidimensionais (matrizes) são
suportados, e podem ser criados pelo usuário ou por
outras funções.
– Existem diversas funções específicas para bancos de
dados para preencher arrays com os dados retornados em
consultas, e vários outros tipos de funções que também
retornam arrays.
Array
13/02/2011 3
• Especificando um array
– Um array pode ser criado com o construtor de linguagem
array(). Ele pega um certo número de pares separados por
vírgula chave => valor .
Array
13/02/2011 4
array( chave => valor,
, ...
);
• Exemplo prático com array
Array
13/02/2011 5
$a1 = array( 'cor' => 'vermelha',
'sabor' => 'doce' ,
'forma' => 'redonda' ,
'nome' => 'maçã' ,
4 ); // a chave será 0
// isto é equivalente ao de cima
$a2['cor'] = 'vermelha';
$a2['sabor'] = 'doce';
$a2['forma'] = 'redonda';
$a2['nome'] = 'maçã';
$a2[] = 4; // a chave será 0
$b1[] = 'a';
$b1[] = 'b';
$b1[] = 'c'; // equivale as duas atribuições abaixo
$b2 = array( 0 => 'a' , 1 => 'b' , 2 => 'c' );
$b3 = array('a', 'b', 'c');
• Exemplo prático com array
Array
13/02/2011 6
echo "<pre>";
print_r($a1);
print_r($a2);
print_r($b1);
print_r($b2);
print_r($b3);
Saída:
Array
(
[cor] => vermelha
[sabor] => doce
[forma] => redonda
[nome] => maçã
[0] => 4
)
Array
(
[cor] => vermelha
[sabor] => doce
[forma] => redonda
[nome] => maçã
[0] => 4
)
Array
(
[0] => a
[1] => b
[2] => c
)
Array
(
[0] => a
[1] => b
[2] => c
)
Array
(
[0] => a
[1] => b
[2] => c
)
• Operadores
Array
13/02/2011 7
• Funções úteis para Array
– is_array
• Verifica se a variável é um array.
– array_key_exists
• Checa se uma chave ou índice existe em um array.
Array
13/02/2011 8
<?php
$arrFormCad =
array(
"NOME" => "George Mendonça"
,"CPF" => "777777777-77"
,"RG" => "8.888.888"
);
echo is_array($arrFormCad); # 1
echo array_key_exists("CEP", $arrFormCad); #
• Funções úteis para Array
– array_combine
• Cria um array usando um array para chaves e outro para valores.
– array_merge
• Funde um ou mais arrays.
Array
13/02/2011 9
<?php
$arr1 = array(10, 11, 12, 13, 14);
$arr2 = array(20, 21, 22, 23, 24);
print "<pre>";
print_r(array_combine($arr1, $arr2));
print_r(array_merge($arr1, $arr2));
Saída:
Array
(
[10] => 20
[11] => 21
[12] => 22
[13] => 23
[14] => 24
)
Array
(
[0] => 10
[1] => 11
[2] => 12
[3] => 13
[4] => 14
[5] => 20
[6] => 21
[7] => 22
[8] => 23
[9] => 24
)
• Funções úteis para Array
– array_push
• Adiciona um ou mais elementos no final de um
array
– array_pop
• Retira um elemento do final do array.
Array
13/02/2011 10
<?php
$pilha = array("1º", "2º", "3º", "4º", "5º");
echo "<pre>";
print_r($pilha);
array_push($pilha, "6º", "7º");
print_r($pilha);
$elemento = array_pop($pilha);
print_r($pilha);
echo $elemento;
Saída:
Array
(
[0] => 1º
[1] => 2º
[2] => 3º
[3] => 4º
[4] => 5º
)
Array
(
[0] => 1º
[1] => 2º
[2] => 3º
[3] => 4º
[4] => 5º
[5] => 6º
[6] => 7º
)
Array
(
[0] => 1º
[1] => 2º
[2] => 3º
[3] => 4º
[4] => 5º
[5] => 6º
)
7º
• Funções úteis para Array
– array_unshift()
• Adiciona um ou mais elementos no início de um array.
– array_shift
• Retira o primeiro elemento de um array.
Array
13/02/2011 11
<?php
$elementos = array("1º", "2º", "3º", "4º", "5º");
echo "<pre>";
print_r($elementos);
array_unshift($elementos, "6º", "7º");
print_r($elementos);
$elementoRemovido = array_shift($elementos);
print_r($elementos);
echo $elementoRemovido;
Saída:
Array
(
[0] => 1º
[1] => 2º
[2] => 3º
[3] => 4º
[4] => 5º
)
Array
(
[0] => 6º
[1] => 7º
[2] => 1º
[3] => 2º
[4] => 3º
[5] => 4º
[6] => 5º
)
Array
(
[0] => 7º
[1] => 1º
[2] => 2º
[3] => 3º
[4] => 4º
[5] => 5º
)
6º
• Funções úteis para Array
– array_search
• Procura por um valor em um array e retorna sua chave
correspondente caso seja encontrado.
Array
13/02/2011 12
<?php
$alunos = array(
'Evandro'
,'Francisco'
,'Ismael'
,'Madson'
,'Sérgio'
,'Thaís'
);
$chave = array_search("Francisco", $alunos);
echo $chave."<br />"; # 1
$chave = array_search("Arnaldo", $alunos);
echo $chave."<br />"; #
• Funções úteis para Array
– array_sum
• Calcula a soma dos elementos de um array.
– array_reverse
• Retorna um array com os elementos na ordem inversa.
Array
13/02/2011 13
<?php
$elementos = array(4, 55, 76, 2, 104);
$soma = array_sum($elementos);
echo $soma;
echo "<pre>";
$elementos_invertidos = array_reverse($elementos);
print_r($elementos_invertidos);
Saída:
241
Array
(
[0] => 104
[1] => 2
[2] => 76
[3] => 55
[4] => 4
)
• Funções úteis para Array
– asort
• Ordena um array em ordem crescente dos valores
mantendo a associação entre índices e valores
– arsort
• Ordena um array em ordem decrescente mantendo a
associação entre índices e valores.
Array
13/02/2011 14
<?php
$elementos = array(4, 55, 76, 2, 104);
echo "<pre>";
print_r($elementos);
asort($elementos);
print_r($elementos);
arsort($elementos);
print_r($elementos);
Saída:
Array
(
[0] => 4
[1] => 55
[2] => 76
[3] => 2
[4] => 104
)
Array
(
[3] => 2
[0] => 4
[1] => 55
[2] => 76
[4] => 104
)
Array
(
[4] => 104
[2] => 76
[1] => 55
[0] => 4
[3] => 2
)
• Funções úteis para Array
– count
• Conta o número de elementos de uma variável, ou propriedades
de um objeto.
– array_count_values
• Conta as frequências de cada valor de um array.
Array
13/02/2011 15
<?php
$elementos = array(3, 5, 9, 3, 3, 22, 9, 3, 3, 9, 22, 21);
$numeroElementos = count($elementos);
$frequenciaElementos = array_count_values($elementos);
echo "Número de elementos: $numeroElementos";
echo '<pre>';
print_r($frequenciaElementos);
Saída:
Número de elementos: 12
Array
(
[3] => 5
[5] => 1
[9] => 3
[22] => 2
[21] => 1
)
• Funções úteis para Array
– array_unique
• Remove o valores duplicados de um array.
– array_intersect
• Calcula a interseção entre arrays
Array
13/02/2011 16
<?php
$elementos1 = array(1,2,10,10,10,15,2,7,1);
$elementos2 = array(3,3,1,5,5,25,7,7,4,4,10);
$elementos1u = array_unique($elementos1);
$elementos2u = array_unique($elementos2);
$intersecao = array_intersect($elementos1, $elementos2);
echo '<pre>';
print_r($elementos1u);
print_r($elementos2u);
print_r($intersecao);
Saída:
Array
(
[0] => 1
[1] => 2
[2] => 10
[5] => 15
[7] => 7
)
Array
(
[0] => 3
[2] => 1
[3] => 5
[5] => 25
[6] => 7
[8] => 4
[10] => 10
)
Array
(
[0] => 1
[2] => 10
[3] => 10
[4] => 10
[7] => 7
[8] => 1
)

PHP 5.3 - Arrays

  • 1.
    Bacharel em Ciênciada Computação (UFG) Especializando em Engenharia de Software Analista de Sistemas – SIGMA / MDIC Professor Formador EAD – NEAD/ETEB george@georgemendonca.com.br http://www.georgemendonca.com.br Array
  • 2.
    • Introdução – Umarray no PHP é atualmente um mapa ordenado. – Um mapa é um tipo que relaciona valores para chaves. – Este tipo é otimizado de várias maneiras, então você pode usá-lo como um array real, ou uma lista (vetor), hashtable (que é uma implementação de mapa), dicionário, coleção, pilha, fila e provavelmente mais. – Como você pode ter outro array PHP como um valor, você pode facilmente simular árvores. Array 13/02/2011 2
  • 3.
    • Introdução – Arrayssimples e multidimensionais (matrizes) são suportados, e podem ser criados pelo usuário ou por outras funções. – Existem diversas funções específicas para bancos de dados para preencher arrays com os dados retornados em consultas, e vários outros tipos de funções que também retornam arrays. Array 13/02/2011 3
  • 4.
    • Especificando umarray – Um array pode ser criado com o construtor de linguagem array(). Ele pega um certo número de pares separados por vírgula chave => valor . Array 13/02/2011 4 array( chave => valor, , ... );
  • 5.
    • Exemplo práticocom array Array 13/02/2011 5 $a1 = array( 'cor' => 'vermelha', 'sabor' => 'doce' , 'forma' => 'redonda' , 'nome' => 'maçã' , 4 ); // a chave será 0 // isto é equivalente ao de cima $a2['cor'] = 'vermelha'; $a2['sabor'] = 'doce'; $a2['forma'] = 'redonda'; $a2['nome'] = 'maçã'; $a2[] = 4; // a chave será 0 $b1[] = 'a'; $b1[] = 'b'; $b1[] = 'c'; // equivale as duas atribuições abaixo $b2 = array( 0 => 'a' , 1 => 'b' , 2 => 'c' ); $b3 = array('a', 'b', 'c');
  • 6.
    • Exemplo práticocom array Array 13/02/2011 6 echo "<pre>"; print_r($a1); print_r($a2); print_r($b1); print_r($b2); print_r($b3); Saída: Array ( [cor] => vermelha [sabor] => doce [forma] => redonda [nome] => maçã [0] => 4 ) Array ( [cor] => vermelha [sabor] => doce [forma] => redonda [nome] => maçã [0] => 4 ) Array ( [0] => a [1] => b [2] => c ) Array ( [0] => a [1] => b [2] => c ) Array ( [0] => a [1] => b [2] => c )
  • 7.
  • 8.
    • Funções úteispara Array – is_array • Verifica se a variável é um array. – array_key_exists • Checa se uma chave ou índice existe em um array. Array 13/02/2011 8 <?php $arrFormCad = array( "NOME" => "George Mendonça" ,"CPF" => "777777777-77" ,"RG" => "8.888.888" ); echo is_array($arrFormCad); # 1 echo array_key_exists("CEP", $arrFormCad); #
  • 9.
    • Funções úteispara Array – array_combine • Cria um array usando um array para chaves e outro para valores. – array_merge • Funde um ou mais arrays. Array 13/02/2011 9 <?php $arr1 = array(10, 11, 12, 13, 14); $arr2 = array(20, 21, 22, 23, 24); print "<pre>"; print_r(array_combine($arr1, $arr2)); print_r(array_merge($arr1, $arr2)); Saída: Array ( [10] => 20 [11] => 21 [12] => 22 [13] => 23 [14] => 24 ) Array ( [0] => 10 [1] => 11 [2] => 12 [3] => 13 [4] => 14 [5] => 20 [6] => 21 [7] => 22 [8] => 23 [9] => 24 )
  • 10.
    • Funções úteispara Array – array_push • Adiciona um ou mais elementos no final de um array – array_pop • Retira um elemento do final do array. Array 13/02/2011 10 <?php $pilha = array("1º", "2º", "3º", "4º", "5º"); echo "<pre>"; print_r($pilha); array_push($pilha, "6º", "7º"); print_r($pilha); $elemento = array_pop($pilha); print_r($pilha); echo $elemento; Saída: Array ( [0] => 1º [1] => 2º [2] => 3º [3] => 4º [4] => 5º ) Array ( [0] => 1º [1] => 2º [2] => 3º [3] => 4º [4] => 5º [5] => 6º [6] => 7º ) Array ( [0] => 1º [1] => 2º [2] => 3º [3] => 4º [4] => 5º [5] => 6º ) 7º
  • 11.
    • Funções úteispara Array – array_unshift() • Adiciona um ou mais elementos no início de um array. – array_shift • Retira o primeiro elemento de um array. Array 13/02/2011 11 <?php $elementos = array("1º", "2º", "3º", "4º", "5º"); echo "<pre>"; print_r($elementos); array_unshift($elementos, "6º", "7º"); print_r($elementos); $elementoRemovido = array_shift($elementos); print_r($elementos); echo $elementoRemovido; Saída: Array ( [0] => 1º [1] => 2º [2] => 3º [3] => 4º [4] => 5º ) Array ( [0] => 6º [1] => 7º [2] => 1º [3] => 2º [4] => 3º [5] => 4º [6] => 5º ) Array ( [0] => 7º [1] => 1º [2] => 2º [3] => 3º [4] => 4º [5] => 5º ) 6º
  • 12.
    • Funções úteispara Array – array_search • Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado. Array 13/02/2011 12 <?php $alunos = array( 'Evandro' ,'Francisco' ,'Ismael' ,'Madson' ,'Sérgio' ,'Thaís' ); $chave = array_search("Francisco", $alunos); echo $chave."<br />"; # 1 $chave = array_search("Arnaldo", $alunos); echo $chave."<br />"; #
  • 13.
    • Funções úteispara Array – array_sum • Calcula a soma dos elementos de um array. – array_reverse • Retorna um array com os elementos na ordem inversa. Array 13/02/2011 13 <?php $elementos = array(4, 55, 76, 2, 104); $soma = array_sum($elementos); echo $soma; echo "<pre>"; $elementos_invertidos = array_reverse($elementos); print_r($elementos_invertidos); Saída: 241 Array ( [0] => 104 [1] => 2 [2] => 76 [3] => 55 [4] => 4 )
  • 14.
    • Funções úteispara Array – asort • Ordena um array em ordem crescente dos valores mantendo a associação entre índices e valores – arsort • Ordena um array em ordem decrescente mantendo a associação entre índices e valores. Array 13/02/2011 14 <?php $elementos = array(4, 55, 76, 2, 104); echo "<pre>"; print_r($elementos); asort($elementos); print_r($elementos); arsort($elementos); print_r($elementos); Saída: Array ( [0] => 4 [1] => 55 [2] => 76 [3] => 2 [4] => 104 ) Array ( [3] => 2 [0] => 4 [1] => 55 [2] => 76 [4] => 104 ) Array ( [4] => 104 [2] => 76 [1] => 55 [0] => 4 [3] => 2 )
  • 15.
    • Funções úteispara Array – count • Conta o número de elementos de uma variável, ou propriedades de um objeto. – array_count_values • Conta as frequências de cada valor de um array. Array 13/02/2011 15 <?php $elementos = array(3, 5, 9, 3, 3, 22, 9, 3, 3, 9, 22, 21); $numeroElementos = count($elementos); $frequenciaElementos = array_count_values($elementos); echo "Número de elementos: $numeroElementos"; echo '<pre>'; print_r($frequenciaElementos); Saída: Número de elementos: 12 Array ( [3] => 5 [5] => 1 [9] => 3 [22] => 2 [21] => 1 )
  • 16.
    • Funções úteispara Array – array_unique • Remove o valores duplicados de um array. – array_intersect • Calcula a interseção entre arrays Array 13/02/2011 16 <?php $elementos1 = array(1,2,10,10,10,15,2,7,1); $elementos2 = array(3,3,1,5,5,25,7,7,4,4,10); $elementos1u = array_unique($elementos1); $elementos2u = array_unique($elementos2); $intersecao = array_intersect($elementos1, $elementos2); echo '<pre>'; print_r($elementos1u); print_r($elementos2u); print_r($intersecao); Saída: Array ( [0] => 1 [1] => 2 [2] => 10 [5] => 15 [7] => 7 ) Array ( [0] => 3 [2] => 1 [3] => 5 [5] => 25 [6] => 7 [8] => 4 [10] => 10 ) Array ( [0] => 1 [2] => 10 [3] => 10 [4] => 10 [7] => 7 [8] => 1 )