Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Programação em PHP
SEÇÕES
Manuais relacionados
+Programação em PHP
Categorias
+PHP

Índice do Manual Programação em PHP
+ Introdução à programação em PHP
+ Breve história do PHP
+ Tarefas Principais do PHP
+ Instalação de PHP no nosso servidor
+ Configuração de PHP com Apache em Windows, como CGI
+ Configuração de PHP como módulo de Apache em Windows
+ Instalação de MySQL em Windows
+ Introdução à sintaxe PHP
+ Variáveis em PHP
+ Mudança de tipo das variáveis em PHP
+ Variáveis de sistema em PHP
+ Tabelas ou Arrays em PHP
+ Trabalho com tabelas ou arrays em PHP
+ Cadeias
+ Funções
+ Mais sobre funções: passagem de parâmetros
+ Mais sobre funções: Retorno de valores
+ Controlo do fluxo em PHP: Condições IF
+ Controlo do fluxo em PHP: Loops I
+ Controlo do fluxo em PHP: Loops II
+ Operadores
+ Passagem de variáveis pela URL
+ Processar variáveis de formulários
+ Autochamada de páginas
+ Utilização de cookies
+ Sessões I
+ Sessões II
+ Trabalhar com bases de dados em PHP
+ Inserção de novos registos
+ Selecção e leitura de registos
+ Actualização de um registo
+ Eliminação de um registo
+ Subir uma aplicação PHP ao servidor
+ Colocar os ficheiros PHP fora do directório de publicação
+ Subir uma base de dados ao servidor de Internet
+ Subir uma base de dados MySQL vazia ao servidor
+ Subir uma base de dados MySQL com a estrutura e os dados
+ Migrar uma base de dados a MySQL
+ Programação orientada a objectos em PHP
+ Construtores em PHP
+ Herança em PHP

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Trabalho com tabelas ou arrays em PHP

Vejamos algumas das funções típicas do trabalho com arrays a través de uma pequena explicação e um exemplo de uso.


Vamos ver vários exemplos de trabalho com arrays (vetores, matrizes...) em PHP que ilustram um pouco o funcionamento de algumas funções de arrays mais populares que trás consigo PHP.

Sem mais, vamos introduzir-nos em matéria com vários exemplos interessantes de uso de vectores.

Referência: Os arrays em PHP explicam-se no artigo Tabelas ou Arrays em PHP.

Modificar o número de elementos de um array

Agora vamos ver vários exemplos nos quais os nossos arrays podem aumentar ou reduzir o número de cédulas disponíveis.

Reduzir o tamanho de um array

array_slice()
Para diminuir o número de células de um array temos várias funções. Entre elas, array_slice() que a utilizaremos quando quisermos recortar algumas células do array, sabendo que os índices das cédulas que desejarmos conservar.

Recebe três parâmetros. O array, o índice do primeiro elemento e o número de elementos a tomar, sendo este ultimo parâmetro opcional.

No seguinte exemplo temos um array com quatro nomes próprios. Na primeira execução de array_slice() estamos a indicar que desejamos tomar todos os elementos desde o índice 0 (o principio) até um numero total de 3 elementos.

O segundo array_slice() indica que se tomem todos os elementos a partir do índice 1 (segunda cédula).

<?
$entrada = array ("Miguel", "Carlos", "Joaquim", "Joao", "Paulo");

//modifico o tamanho
$saida = array_slice ($entrada, 0, 3);

//mostro o array
foreach ($saida as $atual)
   echo $atual . "<br>";

echo "<p>";

//modifico outra vez
$saida = array_slice ($saida, 1);

//mostro o array
foreach ($salida as $atual)
   echo $atual . "<br>";
?>


Terá como saída:

Miguel
Carlos
Joaquim

Carlos
Joaquim

array_shift()
Esta função extrai o primeiro elemento do array e retorna-o. Além disso, reduze a longitude do array eliminando o elemente que estava na primeira cédula. Sempre faz o mesmo, pelo tanto, não receberá mais nada a não ser o array ao que se deseja eliminar a primeira posição.

No código seguinte tem-se o mesmo vetcor com nomes próprios e executa-se duas vezes a função array_shift() eliminando um elemento em cada ocasião. Imprimem-se os valores que retorna a função e os elementos do array resultante de eliminar a primeira cédula.

<?
$entrada = array ("Miguel", "Carlos", "Joaquim", "Joao", "Paulo");

//elimino a primeira cedula
$saida = array_shift ($entrada);

//mostro o array
echo "A funçao retorna: " . $saida . "<br>";
foreach ($entrada as $atual)
   echo $atual . "<br>";

echo "<p>";

//elimino a primeira cédula, que agora seria a segunda do array original
$saida = array_shift ($entrada);
echo "A funçao retorna: " . $salida . "<br>";

//muestro el array
foreach ($entrada as $actual)
   echo $actual . "<br>";
?>


Dá como resultado:

A função retorna: Miguel
Carlos
Joaquim
Joao
Paulo

A função retorna: Carlos
Joaquim
Joao
Paulo

unset()
Utiliza-se para destruir uma variável dada. No caso dos arrays, pode-se utilizar para eliminar uma cédula de um array associativo (os que não tem numéricos mas sendo este uma cadeia de caracteres).

Vejamos o seguinte código para conhecer como definir um array associativo e depois eliminar uma das suas cédulas.

<?
$estadios_futebol = array("Barcelona"=> "Nou Camp","Real Madrid" => "Santiago Bernabeu","Valencia" => "Mestalla","Real Sociedad" => "Anoeta");

//mostramos os estadios
foreach ($estadios_futebol as $indice=>$atual)
   echo $indice . " -- " . $atual . "<br>";

echo "<p>";

//eliminamos o estadio associado ao real madrid
unset ($estadios_futebol["Real Madrid"]);

//mostramos os estadios outra vez
foreach ($estadios_futebol as $indice=>$atual)
   echo $indice . " -- " . $atual . "<br>";
?>


A saída será a seguinte:

Barcelona -- Nou Camp
Real Madrid -- Santiago Bernabeu
Valencia -- Mestalla
Real Sociedad -- Anoeta

Barcelona -- Nou Camp
Valencia -- Mestalla
Real Sociedad -- Anoeta

Aumentar o tamanho de um array

Temos também a nossa disposição varias funções que nos podem ajudar a aumentar o número de cédulas de um array.

array_push()
Insere no fim do array uma série de células que se indiquem por parâmetro. Portanto, o número de células de um array aumentará em tantos elementos como se tenham indicado no parâmetro da função. Retorna o numero de células do array resultante.

Vejamos este código onde se cria um array e se acrescentam a seguir três novos valores.

<?
$tabela = array ("Lagartixa", "Aranha", "Cao", "Gato", "Rato");

//aumentamos o tamanho do array
array_push($tabela, "Galinha", "Pombo", "Urso");

foreach ($tabela as $atual)
   echo $atual . "<br>";
?>


Dá como resultado esta saída:

Lagartixa
Aranha
Cao
Gato
Rato
Galinha
Pombo
Urso

array_merge()
Agora vamos ver como unir dois arrays utilizando a função array_merge(). Passando-lhe dois ou mais arrays por parâmetro retorna um array com todos os campos dos vetores passados.

Neste código de exemplo criamos três arrays e depois unimo-los com a função array_merge()

<?
$tabela = array ("Lagartixa", "Aranha", "Cao", "Gato", "Rato");
$tabela2 = array ("12","34","45","52","12");
$tabela3 = array ("Sauce","Pinheiro","Laranjeira","Toupeira","Cao","34");

//aumentamos o tamanho do array
$resultado = array_merge($tabela, $tabela2, $tabela3);

foreach ($resultado as $atual)
   echo $atual . "<br>";
?>


Da como resultado:

Lagartixa
Aranha
Cao
Gato
Rato
12
34
45
52
12
Sauce
Pinheiro
Laranjeira
Toupeira
Cao
34

Por último, dizer que também se podem introduzir novas cédulas num array pelos métodos habituais de atribuir as novas posições do array às cédulas que necessitemos.

Em arrays normais faria-se assim:

$tabela = array ("Sauce","Pinheiro","Laranjeira");
$tabela[3]="Pereira";


Em arrays associativos:

$estadios_futebol = array("Valencia" => "Mestalla","Real Sociedad" => "Anoeta");
$estadios_futebol["Barcelona"]= "Nou Camp";


Veremos mais à frente outras possibilidades de trabalho com arrays.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Programação em PHP
Seguinte: Cadeias

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em PHP


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites