Arrays - parte 1
Antes de começar, seria interessante ler um pouco sobre os Arrays no Manual, em http://www.php.net/manual/pt_BR/ref.array.php
I) O que é um array
Um array não passa de uma matriz. Lembra das aulas de matemática onde a matriz A 3x3 tinha índices de linha e coluna? Pois é mais ou menos igual, uma vez que existem índices em arrays assim como na matemática.
Resumindo: são variáveis de múltiplo nível que pode conter mais que uma varíavel dentro.
II) Como criar um array
Pode ser criado basicamente de duas formas.
a) Declara-se o array com a funcao array():
[Mais sobre array(): http://www.php.net/manual/pt_BR/function.array.php]
b) Dá-se um valor a uma variável com indice, ou seja:
Porém se pode comecar com a função array já com algum valor dentro:
Praticamente se cria um array criar um array vazio quando se quiser preencher ele depois com um array_push() [http://www.php.net/manual/pt_BR/function.array-push.php]
III) Como destruir um array
Para apagar um array voce usa a funcao unset() [http://www.php.net/manual/pt_BR/function.unset.php] que pode tanto destruir todo o array ou apenas uma varíavel de um único nível.
IV) Os tipos de índices
Um índice é o identificador da varíavel dentro de um array. Assim como numa matriz:
O número 6 têm o índice definido pela Álgebra Linear de (i,j) = (2,4), caso a matriz fosse um array:
Então o número 7 estaria na segunda linha e na quarta coluna, ou seja, 1,3 (começando-se do zero deve-se diminuir um).
Só para adiantar um pouco, para pegar o valor 7 se utiliza:
Explicado o que é um índice, existem dois tipos deles: ordenado e o associativo
No PERL, inclusive eles não eram tão parecidos quanto é no PHP, por isso, para quem vem do PERL, esqueça toda aquela história de @ordenado e %hash (associativo), pois agora no PHP usamos SEMPRE o mesmo identificador para arrays: o cifrão/"dólar"/"ésse-com-tracinho" ($).
a) No ordenado, o índice é baseado em números (int) que começa do ZERO. Atenção, comeca do ZERO e não do UM, como podem pensar quem é mais acostumado com matemática do que com programação.
b) Os associativos não são numeros, mas sim carácteres alfa-numéricos, ou seja, uma string.
Por exemplos fica mais fácil de demonstrar:
Temos um array do tipo ordenado pois não estamos associando nada.
Veja como pegar estes valores:
Lembre-se que comeca do ZERO.
Agora vamos criar algumas associações:
E o output:
Temos dois meios para invocar o array. O associativo (índice e valor) e o ordenado (número e valor). Perceba que uma associacao tem um => entre eles.
Outro meio de fazer uma associacao é:
Funcionará da mesma forma. Veja que essas associações são válidas e uma não exclui a outra.
Mais uma da matematica, para finalizar: lembra das funcoes? f(x) = x + 1. Lembra de Dominio e Imagem? O que é Dominio e o que é Imagem? O dominio é o x e a Imagem é o y. Um domínio só pode ter uma imagem porém uma imagem pode ter 0, 1 ou mais domínios. Compare agora o x como se fosse p índice do array (o "aluno1" é o índice) e o y é um valor ("alberto").
Portanto, isso pode co-existir:
$chamada["aluno1"] = "alberto";
$chamada["aluno24"] = "alberto";
Mas isso não pode:
$chamada["aluno1"] = "alberto";
$chamada["aluno1"] = "maira";
Por quê? Porque senão o valor de $chamada["aluno1"] vai ser o último valor dado, ou seja, "maira", pois se acaba de sobscrever uma variável.
Mais informações:
http://www.php.net/manual/pt_BR/ref.array.php
http://www.php.net/manual/pt_BR/function.array.php
http://www.php.net/manual/pt_BR/function.array-push.php
http://www.php.net/manual/pt_BR/function.unset.php
------------------------------------------------------
Roberto Bertó é desenvolvedor da Desenvolve
http://desenvolve.com.br
I) O que é um array
Um array não passa de uma matriz. Lembra das aulas de matemática onde a matriz A 3x3 tinha índices de linha e coluna? Pois é mais ou menos igual, uma vez que existem índices em arrays assim como na matemática.
Resumindo: são variáveis de múltiplo nível que pode conter mais que uma varíavel dentro.
II) Como criar um array
Pode ser criado basicamente de duas formas.
a) Declara-se o array com a funcao array():
<?php $salada_de_frutas = array(); ?>
[Mais sobre array(): http://www.php.net/manual/pt_BR/function.array.php]
b) Dá-se um valor a uma variável com indice, ou seja:
<?php $salada_de_frutas[0] = "maça"; ?>
Porém se pode comecar com a função array já com algum valor dentro:
<?php $salada_de_frutas = array("maça","uva","pêra"); ?>
Praticamente se cria um array criar um array vazio quando se quiser preencher ele depois com um array_push() [http://www.php.net/manual/pt_BR/function.array-push.php]
III) Como destruir um array
Para apagar um array voce usa a funcao unset() [http://www.php.net/manual/pt_BR/function.unset.php] que pode tanto destruir todo o array ou apenas uma varíavel de um único nível.
IV) Os tipos de índices
Um índice é o identificador da varíavel dentro de um array. Assim como numa matriz:
[0 1 2 3] [4 5 6 7]
O número 6 têm o índice definido pela Álgebra Linear de (i,j) = (2,4), caso a matriz fosse um array:
<?php $matriz = array( array(0, 1, 2, 3), array(4, 5, 6, 7) ); ?>
Então o número 7 estaria na segunda linha e na quarta coluna, ou seja, 1,3 (começando-se do zero deve-se diminuir um).
Só para adiantar um pouco, para pegar o valor 7 se utiliza:
<?php print $matriz[1][3]; ?>
Explicado o que é um índice, existem dois tipos deles: ordenado e o associativo
No PERL, inclusive eles não eram tão parecidos quanto é no PHP, por isso, para quem vem do PERL, esqueça toda aquela história de @ordenado e %hash (associativo), pois agora no PHP usamos SEMPRE o mesmo identificador para arrays: o cifrão/"dólar"/"ésse-com-tracinho" ($).
a) No ordenado, o índice é baseado em números (int) que começa do ZERO. Atenção, comeca do ZERO e não do UM, como podem pensar quem é mais acostumado com matemática do que com programação.
b) Os associativos não são numeros, mas sim carácteres alfa-numéricos, ou seja, uma string.
Por exemplos fica mais fácil de demonstrar:
<?php $chamada = array( "alberto", "bianca", "carlos", "maira", "ricardo" ); ?>
Temos um array do tipo ordenado pois não estamos associando nada.
Veja como pegar estes valores:
<?php print $chamada[0]; #--> retorna alberto print $chamada[3]; #--> retorna maira print $chamada[4]; #--> retorna ricardo ?>
Lembre-se que comeca do ZERO.
Agora vamos criar algumas associações:
<?php $chamada = array( "aluno1" => "alberto", "aluno3" => "bianca", "aluno5" => "carlos", "aluno24" => "maira" /* -> note que não precisa de vírgula no último */ ); ?>
E o output:
<?php print $chamada["aluno1"]; # --> retorna alberto print $chamada["aluno5"]; # --> retorna maira print $chamada[0]; # --> retorna alberto print $chamada[3]; # --> retorna maira ?>
Temos dois meios para invocar o array. O associativo (índice e valor) e o ordenado (número e valor). Perceba que uma associacao tem um => entre eles.
Outro meio de fazer uma associacao é:
<?php $chamada["aluno1"] = "alberto"; $chamada["aluno24"] = "maira"; ?>
Funcionará da mesma forma. Veja que essas associações são válidas e uma não exclui a outra.
Mais uma da matematica, para finalizar: lembra das funcoes? f(x) = x + 1. Lembra de Dominio e Imagem? O que é Dominio e o que é Imagem? O dominio é o x e a Imagem é o y. Um domínio só pode ter uma imagem porém uma imagem pode ter 0, 1 ou mais domínios. Compare agora o x como se fosse p índice do array (o "aluno1" é o índice) e o y é um valor ("alberto").
Portanto, isso pode co-existir:
$chamada["aluno1"] = "alberto";
$chamada["aluno24"] = "alberto";
Mas isso não pode:
$chamada["aluno1"] = "alberto";
$chamada["aluno1"] = "maira";
Por quê? Porque senão o valor de $chamada["aluno1"] vai ser o último valor dado, ou seja, "maira", pois se acaba de sobscrever uma variável.
Mais informações:
http://www.php.net/manual/pt_BR/ref.array.php
http://www.php.net/manual/pt_BR/function.array.php
http://www.php.net/manual/pt_BR/function.array-push.php
http://www.php.net/manual/pt_BR/function.unset.php
------------------------------------------------------
Roberto Bertó é desenvolvedor da Desenvolve
http://desenvolve.com.br
Um pequeno comentario sobre arrays é que podem possuir valores de tipos diferentes em cada posição do array.
26/01/2004 8:21am
(~21 anos atrás)
Como eu faço para enviar um array preenchido por um link de pagina:
teste.php?array=array[]
teste.php?array=array[]
07/08/2002 11:41am
(~22 anos atrás)