terça-feira, 10 de janeiro de 2012

Arrays (Vetores)




Array, também conhecido como vetor, é uma variavel diferente das outras, pois, ela consegue guardar mais de um valor dentro dela. Cada informação dentro desse array é identificada por um indice, também chamado de posição ou key.





 Por Exemplo:

O Array tem três dados dentro dele. Os dados são três números. 10,20 e 30. Para poder utilizar o valor 10, temos que pedir para mostrar o valor cujo o indice é 0. Então:

Indice 0 Corresponde ao valor 10.
Indice 1 Corresponde ao valor 20.
Indice 2 Corresponde ao valor 30.

E assim por diante.

Então a posição 0 do array correspode ao valor 10.

Declarando um Array

Um Array pode ser declarado com uma função chamado array(); Exemplo:
<?php
$nome_do_array = array();
?>

O Código acima já esta criando um array, só que sem colocar nenhum valor dentro dele. Porém, você já pode iniciar um array passando valores para ele.
Exemplo:

<?php
$times = array("corinthians","grêmio","vasco");
?>

Sendo assim, o valor “corinthians” corresponde a posição 0 do array. E assim por diante.

Outro modo de se criar um array, é simplesmente passando a posição dele entre colchetes e logo após atribuindo valor à aquela posição. Exemplo:

<?php$nome[0] = “Vitor”;
//A posição 0 do array corresponde ao valor “Vitor”
$nome[1] = “Juliano”;//e assim por diante.
?>

O indice de um array em PHP, pode também ser uma string. Como por exemplo:

<?php
$alunos = array(“aluno1” => "João",
“aluno2”=> "Juca",“aluno3” => "Maria");//Na hora de printar na tela, 
//basta colocar o indice
echo $alunos[“aluno1”];
?>

OU
<?php
$alunos[“aluno1”] = “João”;
$alunos[“aluno2”] = “Juca”;
$alunos[“aluno3”] = “Maria”;
?>

Para percorrer entre as posições de um vetor, basta montar uma estrutura de repetição, e usar a função sizeof();
A função sizeof() retorna o número de posições que tem o array. Montando a estrutura de Repetição:

<?php
$nome_array[0] = 10;
$nome_array[1] = 20;
$nome_array[2] = 30;//Obtendo o numero de posições do array
$tam_array = sizeof($nome_array);$tam_array = $tam_array – 1;
//essa linha é necessaria, porque o sizeof,
// no exemplo acima vai retornar o valor 3, 
//porém as posições vão até o o 2, então 
//subtrai-se um para termosa ultima posição do vetor

//Montando estrutura de repetição
for($contador=0;$contador<=$tam_array;$contador++) {
echo $nome_array[$contador];//essa estrutura de repetição está imprimindona tela todos os valores dovetor.
}
?>

Para percorremos array, também existe a estrutura de repetição especificadas para array, chamada foreach. Ele tem a seguitne estrutura:

foreach (vetor as indice => valor) {

}

Ou seja, o que ele faz é o seguinte. Faz o loop percorrendo todos os valores do array, o "indice" faz referencia ao indice do array , e "valor" ao dado de fato que foi setado no vetor.

O Foreach funciona da seguinte forma:

<?php
//Setando o valor dos arrays
$nome_array[0] = 10;
$nome_array[1] = 20;
$nome_array[2] = 30;
//Agora montar o foreach

foreach ($nome_array as $key=>$value) {
 //Agora aqui vou imprimir o key e o valor, Use este 
 //código para você testar no Testador de Código.
 echo "Indice: " . $key . " | Valor: " . $value . "\n";
}
?>

Galera, isso é o que eu tenho para falar de arrays. Qualquer duvida comente aqui, ou use o formlário ali do lado direito!
Não esqueça de testar os códigos. http://vitorluis.zymichost.com

Abraços!

7 comentários:

  1. Há a opção de se atribuir múltiplos valores ao array utilizando a estrutura de repetição for. Sendo que, não lembro como. Poderia me dar uma ajuda?

    ResponderExcluir
  2. Por exemplo: A cada execução do for, eu realizarei uma soma diferente. Sendo que quero armazenar estes valores em posições diferentes do array e mostrá-los na tela as suas diferentes posições!

    ResponderExcluir
  3. Este comentário foi removido pelo autor.

    ResponderExcluir
  4. Este comentário foi removido pelo autor.

    ResponderExcluir
  5. Este comentário foi removido pelo autor.

    ResponderExcluir
  6. bom dia, gostaria de saber como seria a estrutura do código se eu quisesse que, nenhum dos caracteres do array fossem iguais?

    ResponderExcluir