SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
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
)

Contenu connexe

Tendances

Orientação a Objetos em PHP
Orientação a Objetos em PHPOrientação a Objetos em PHP
Orientação a Objetos em PHPzehzinho
 
(A13) LabMM3 - JavaScript - Arrays multidimensionais
(A13) LabMM3 - JavaScript - Arrays multidimensionais(A13) LabMM3 - JavaScript - Arrays multidimensionais
(A13) LabMM3 - JavaScript - Arrays multidimensionaisCarlos Santos
 
LabMM4 (T15 - 12/13) - Arrays
LabMM4 (T15 - 12/13) - ArraysLabMM4 (T15 - 12/13) - Arrays
LabMM4 (T15 - 12/13) - ArraysCarlos Santos
 
Fugindo das armadilhas do MVC
Fugindo das armadilhas do MVCFugindo das armadilhas do MVC
Fugindo das armadilhas do MVCEdiaimo Borges
 
Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009silva.edgar
 
Proxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testesProxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testesStanislaw Pusep
 
Programando em python dicionarios
Programando em python   dicionariosProgramando em python   dicionarios
Programando em python dicionariossamuelthiago
 
Refactoring sem complicação!
Refactoring sem complicação!Refactoring sem complicação!
Refactoring sem complicação!Thamara Hessel
 
Object Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesObject Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesOtávio Calaça Xavier
 
Palestra python
Palestra pythonPalestra python
Palestra pythonRony Cruch
 
PHPubSP Object Calisthenics aplicado ao PHP
PHPubSP Object Calisthenics aplicado ao PHPPHPubSP Object Calisthenics aplicado ao PHP
PHPubSP Object Calisthenics aplicado ao PHPGuilherme Blanco
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
 

Tendances (20)

Python Class
Python ClassPython Class
Python Class
 
Resolução lista2
Resolução lista2Resolução lista2
Resolução lista2
 
Orientação a Objetos em PHP
Orientação a Objetos em PHPOrientação a Objetos em PHP
Orientação a Objetos em PHP
 
(A13) LabMM3 - JavaScript - Arrays multidimensionais
(A13) LabMM3 - JavaScript - Arrays multidimensionais(A13) LabMM3 - JavaScript - Arrays multidimensionais
(A13) LabMM3 - JavaScript - Arrays multidimensionais
 
LabMM4 (T15 - 12/13) - Arrays
LabMM4 (T15 - 12/13) - ArraysLabMM4 (T15 - 12/13) - Arrays
LabMM4 (T15 - 12/13) - Arrays
 
PHP MySQL Aula 07
PHP MySQL Aula 07PHP MySQL Aula 07
PHP MySQL Aula 07
 
Fugindo das armadilhas do MVC
Fugindo das armadilhas do MVCFugindo das armadilhas do MVC
Fugindo das armadilhas do MVC
 
Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009
 
Capítulo 6
Capítulo 6Capítulo 6
Capítulo 6
 
Proxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testesProxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testes
 
Um pouco sobre sql
Um pouco sobre sqlUm pouco sobre sql
Um pouco sobre sql
 
Aula2
Aula2Aula2
Aula2
 
Programando em python dicionarios
Programando em python   dicionariosProgramando em python   dicionarios
Programando em python dicionarios
 
Haskell aula3 listas
Haskell aula3 listasHaskell aula3 listas
Haskell aula3 listas
 
Refactoring sem complicação!
Refactoring sem complicação!Refactoring sem complicação!
Refactoring sem complicação!
 
Object Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simplesObject Calisthenics: relaxe e escreva códigos simples
Object Calisthenics: relaxe e escreva códigos simples
 
Palestra python
Palestra pythonPalestra python
Palestra python
 
PHPubSP Object Calisthenics aplicado ao PHP
PHPubSP Object Calisthenics aplicado ao PHPPHPubSP Object Calisthenics aplicado ao PHP
PHPubSP Object Calisthenics aplicado ao PHP
 
PHP ao Extremo
PHP ao ExtremoPHP ao Extremo
PHP ao Extremo
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 

Similaire à PHP 5.3 - Arrays

Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIinfo_cimol
 
PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)Silvano Oliveira
 
Perl Moderno, dia3
Perl Moderno, dia3Perl Moderno, dia3
Perl Moderno, dia3garux
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidademetzen
 
Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Elaine Cecília Gatto
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIinfo_cimol
 
Apresentação j query5
Apresentação j query5Apresentação j query5
Apresentação j query5douglasgrava
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Programação web ii aulas 06 e 07
Programação web ii   aulas 06 e 07Programação web ii   aulas 06 e 07
Programação web ii aulas 06 e 07Yuri Bispo
 
LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis
LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveisLabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis
LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveisCarlos Santos
 

Similaire à PHP 5.3 - Arrays (20)

Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites II
 
PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)PW03 - Programação Web PHP Arrays (Vetores)
PW03 - Programação Web PHP Arrays (Vetores)
 
Perl Moderno, dia3
Perl Moderno, dia3Perl Moderno, dia3
Perl Moderno, dia3
 
Otimização e Escalabilidade
Otimização e EscalabilidadeOtimização e Escalabilidade
Otimização e Escalabilidade
 
Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites II
 
Aula 02 - Curso PHP e MySQL
Aula 02 - Curso PHP e MySQLAula 02 - Curso PHP e MySQL
Aula 02 - Curso PHP e MySQL
 
Apresentação j query5
Apresentação j query5Apresentação j query5
Apresentação j query5
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
 
NotORM
NotORMNotORM
NotORM
 
PHP - Arrays
PHP - ArraysPHP - Arrays
PHP - Arrays
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
 
Programação web ii aulas 06 e 07
Programação web ii   aulas 06 e 07Programação web ii   aulas 06 e 07
Programação web ii aulas 06 e 07
 
Manipulacao de arrays
Manipulacao de arraysManipulacao de arrays
Manipulacao de arrays
 
LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis
LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveisLabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis
LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis
 
Curso de Introdução - PHP
Curso de Introdução - PHPCurso de Introdução - PHP
Curso de Introdução - PHP
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Php
PhpPhp
Php
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 

Plus de George Mendonça

Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016George Mendonça
 
Orientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLOrientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLGeorge Mendonça
 
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...George Mendonça
 
Software livre, história, paradigmas, comunidade e colaboração
Software livre, história, paradigmas, comunidade e colaboraçãoSoftware livre, história, paradigmas, comunidade e colaboração
Software livre, história, paradigmas, comunidade e colaboraçãoGeorge Mendonça
 
Criando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio AcadêmicoCriando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio AcadêmicoGeorge Mendonça
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...George Mendonça
 
Confirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse LunaConfirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse LunaGeorge Mendonça
 
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundoDominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundoGeorge Mendonça
 
Libre Office Magazine Edição 11
Libre Office Magazine Edição 11Libre Office Magazine Edição 11
Libre Office Magazine Edição 11George Mendonça
 
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSLDesenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSLGeorge Mendonça
 
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software LivreQuebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software LivreGeorge Mendonça
 
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas LivresDiscutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas LivresGeorge Mendonça
 
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPressDesenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPressGeorge Mendonça
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
 
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...George Mendonça
 
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...George Mendonça
 
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da IgrejaEvangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da IgrejaGeorge Mendonça
 
Curriculum - George Mendonça
Curriculum - George MendonçaCurriculum - George Mendonça
Curriculum - George MendonçaGeorge Mendonça
 

Plus de George Mendonça (20)

Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016
 
Orientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLOrientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSL
 
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
 
Software livre, história, paradigmas, comunidade e colaboração
Software livre, história, paradigmas, comunidade e colaboraçãoSoftware livre, história, paradigmas, comunidade e colaboração
Software livre, história, paradigmas, comunidade e colaboração
 
Criando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio AcadêmicoCriando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio Acadêmico
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
 
Confirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse LunaConfirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse Luna
 
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundoDominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
 
Libre Office Magazine Edição 11
Libre Office Magazine Edição 11Libre Office Magazine Edição 11
Libre Office Magazine Edição 11
 
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSLDesenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
 
Codando com PHP e JQuery
Codando com PHP e JQueryCodando com PHP e JQuery
Codando com PHP e JQuery
 
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software LivreQuebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
 
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas LivresDiscutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
 
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPressDesenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
 
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
 
FGSL - Batismo Digital
FGSL - Batismo DigitalFGSL - Batismo Digital
FGSL - Batismo Digital
 
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da IgrejaEvangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
 
Curriculum - George Mendonça
Curriculum - George MendonçaCurriculum - George Mendonça
Curriculum - George Mendonça
 

Dernier

INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa paraAndreaPassosMascaren
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)Centro Jacques Delors
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosGentil Eronides
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaCentro Jacques Delors
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVlenapinto
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptxMarlene Cunhada
 

Dernier (20)

INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exercicios
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 

PHP 5.3 - Arrays

  • 1. 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
  • 2. • 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
  • 3. • 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
  • 4. • 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, , ... );
  • 5. • 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');
  • 6. • 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 )
  • 8. • 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); #
  • 9. • 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 )
  • 10. • 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º
  • 11. • 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º
  • 12. • 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 />"; #
  • 13. • 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 )
  • 14. • 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 )
  • 15. • 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 )
  • 16. • 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 )