Trabalho com tabelas ou arrays em PHP

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.

Fonte: http://www.criarweb.com/artigos/83.php

Deixe um comentário