sexta-feira, 5 de dezembro de 2008

Arrays (Vetores/Matrizes) no PHP

Quando comecei a programar, tive muitas dúvidas de como usar arrays ou até mesmo o que é um array, vetor ou matriz.

Esses dias no meu trabalho meu amigo meio "Bixinha" me perguntou:
Aiiii...como que eu posso armazenar valores diferentes em uma mesma variável?
Dai foi então que eu expliquei: ARRAY!

O QUE É UM ARRAY?

Essa foi a pergunta da minha linda namorada antes da prova da faculdade.
O que eu expliquei pra ela foi o seguinte:
Array, é como se fosse um livro.
Dentro de um livro, possuimos índices e, em cada índice, o livro possui um valor, que é o conteudo daquele indice.
Exemplo:
livro[0]
livro[1]
livro[2]

No exemplo acima e seguindo o exemplo que dei à minha namorada sobre o livro, lemos o seguinte:
Livro índice 0
Livro índice 1
Livro índice 2
Então, esse livro possui 3 índices e cada índice do livro, possui textos diferentes.
O array trabalha da mesma forma.
Na programação, nós podemos dar valores aos índices de uma variável do tipo array.

Exemplo:
livro[0] = 'Branca de neve encontrou os sete anões'
livro[1] = 'Branca de neve foi morar com os 7 anões'
livro[2] = 'Branca de neve mordeu a maça da bruxa e dormiu eternamente'


UTILIZANDO ARRAY NO PHP


Uma dica que eu dou para as pessoas que tiram dúvidas comigo, é: Consulte o manual!!
O manual do php é ótimo e além de fornecer informações sobre as funções e estruturas da linguagem, contém exemplos enviados pela comunidade "PHPense".
Algumas funções já possuem manual em português.
Para acessar o manual, basta entrar em www.php.net

Meu patrão sempre me fala que manual é o guia dos "burros", mas na minha opinião, os espertos não perdem tempo fazendo besteiras e já os consultam logo de cara!

Existem várias formas de criar um array, a forma mais fácil na minha opinião é descrita abaixo:

$livro[0] = "Branca de neve encontrou os sete anões";
$livro[1] = "Branca de neve foi morar com os 7 anões";
$livro[2] = "Branca de neve mordeu a maça da bruxa e dormiu eternamente";

Além de criar vetores por índices como feito acima, podemos criar vetores com seus índices e referenciá-los por um nome, exemplo:

$livro[0]["titulo"] = "Branca de neve e os sete anões";
$livro[0]["autor"] = "Mariana";
$livro[0]["anopublicacao"] = "2000"

$livro[1]["titulo"] = "Cinderela";
$livro[1]["autor"] = "Maurício";
$livro[1]["anopublicacao"] = "1980"

O que o array acima esta fazendo, é criar uma "tabela" com seus índices e valores para cada "título"

Imagine agora os dados digitados acima em uma tabela do word, que nas colunas contenha os títulos e valores:

Título | Autor | Ano Publicacao
Branca de... Mariana 2000
Cinderela Maurício 1980

É exatamente isso que estou fazendo ao criar o array.

ONDE E QUANDO USAR ARRAY?


O array é muito utilizado quando você deseja guardar em memória, valores diferentes em uma mesma variável.
Essa função é muito utilizada em E-commerce, para inserir produtos em um carrinho de compras. Enquanto o usuário que navega o site nao finalizar a compra, todos os itens que ele solicitou ficam guardados em um array, até que na finalização da compra, o sistema passa todas as informações armazenadas do array para a base de dados.

No exemplo do carrinho de compras, como queremos guardar os valores enquanto o usuário visita o site e mantê-los mesmo que ele acesse diferentes páginas do mesmo site, podemos criar variáveis de Sessão ($_SESSION) como arrays. Tá ai a dica.



FUNCÕES NATIVAS DO PHP PARA O USO DE ARRAY

Existem algumas funções no PHP que nos auxilia no uso de array. Eu citarei as que eu acho mais importantes:

count() — Conta o número de índices de um array
array_key_exists — Checa se uma chave ou índice existe em um array
array_keys — Retorna todas as chaves de um array
array_values — Retorna todos os valores de um array
print_r — Retorna valores de uma variável
array_search — Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado

3 comentários:

Si disse...

Poxa, muito legal o texto! E realmente, o manual do PHP é ótimo! Já tirou muitas dúvidas minhas! =)

Tá ótima a explicação sobre array, parabéns!

=*

Maurício Vinicius de O. Santos disse...

Muito bom receber comentários construtivos :P

Mauricio Moura disse...

Por acaso esse amigo bichinha sou eu?