PHP - Array


Dando continuidade a nosso tutorial de PHP, hoje iremos falar sobre ARRAY que nada mais é que "uma variável que tem a capacidade de armazenar muitos dados". O ARRAY pode ser classificado como DIMENSIONAL e MULTIDIMENSIONAL. Agora vamos iniciar falando sobre a estrutura do DIMENSIONAL e logo depois falaremos do MULTIDIMENSIONAL.


As formas de popular um Array são através de entrada no momento da declaração do mesmo você pode está dizendo quais valores quer atribuir. 
Exemplo:
$array = array("Salvador","Rio de Janeiro","Natal");
Essa será a forma na qual estarei explicando array.

Outra forma de atribuir é se já possui um outro vetor, já possuindo só há a necessidade de atribuir com o sinal de "=" (igual).
$array = array("Salvador","Rio de Janeiro","Natal");
$array2 = array();

$array2 = $array;

Já outra forma é com uma estrutura de repetição que é basicamente essencial para que possamos manipular o array.
$arrayName = array();

for ($i=0; $i < 5; $i++) { 
 $arrayName[$i] = $i*2; 
}

Resultado: 0 2 4 6 8

Em um ARRAY, caso você queira acessar um valor em especifico, você deverá informar o índice da posição a qual o valor se encontra. No caso do ultimo exemplo eu armazenei 5 valores, que peguei da estrutura de repetição e multipliquei por dois e o que se encontra armazenado no ARRAY são os valores (0, 2, 4 ,6 e 8). No momento da armazenagem eu informei onde eu queria armazenar cada valor para isso eu usei o índice $i, como minha estritura de repetição começa do 0 (zero) e vai até o 4 (quatro) cada valor se encontra em uma dessas posição.
Caso eu queira acessar o valor 6 (seis) eu devo informar o índice a qual o valor esta armazenado que nesse nosso exemplo é o índice 3. Nosso ARRAY se encontra armazenado da seguinte forma:

Índices
0
1
2
3
4
Valores
Elemento
Elemento
Elemento
Elemento
Elemento
Então caso queira imprimir na tela o valor 6, deverá está informando o nome do Array a qual o valor está armazenado e dizer qual o índice dele desta forma:
echo "$arrayName[3]";

O ARRAY em PHP possui algo diferente que é usar uma outro tipo de índice para o valor do ARRAY que você pode conhecer como STRING, VETOR DE CHAR, CHAR entre outros. Você pode esta informando esse outro índice da seguinte forma:
$array = array("BA"=>"Salvador","RJ"=>"Rio de Janeiro","RN"=>"Natal");

Nesse caso estou usando o UF do estado para identificar a capital, então em vez de você está utilizando um índice numérico, você pode esta utilizando um em vetor de carácter e a impressão fica da mesma forma que o de índice numérico.
$array = array("BA"=>"Salvador","RJ"=>"Rio de Janeiro","RN"=>"Natal");
echo "$array[RJ]";

Resultado: Rio de Janeiro
E essa é a estrutura do DIMENSIONAL, o MULTIDIMENSIONAL possui uma unica diferença que é a possibilidade de obter mais índices que irão indicar linhas e colunas como se fosse uma (matriz ou tabela). Podemos assumir que ele também é um ARRAY de ARRAYS.

Sua estrutura é da seguinte forma:

Indices
0
1
2
3
4
0
Elemento
Elemento
Elemento
Elemento
Elemento
1
Elemento
Elemento
Elemento
Elemento
Elemento
2
Elemento
Elemento
Elemento
Elemento
Elemento
3
Elemento
Elemento
Elemento
Elemento
Elemento
4
Elemento
Elemento
Elemento
Elemento
Elemento

Para que possamos acessar um determinado valor que consta no ARRAY devemos passar os índices de coluna e linha. A expressão para essa impressão fica da seguinte forma:

echo "$array[linha][coluna]";

Agora iremos ver como é declaração de um ARRAY MULTIDIMENSIONAL.

$alunos = array(
  array("Carlos","Pedro","Julia"),
  array("Clara","Fernanda","João"),
  array("Maria","Cleber","Thiago"),
  array("John","Lennon","Lucas")
);
Como dito anterior mente, seria como um ARRAY de ARRAYS, e a estrutura da para ver isso onde dentro do ARRAY se declara vários outros ARRAY e ao observar essa estrutura declarada podemos ver que ele é uma estrutura de 4 linhas por 3 colunas. Como o ARRAY vai de 0 a n-1 podemos assumir que o ultimo elemento que se encontra na linha 0, para acessa-ló precisamos dizer que ele esta na linha 0(zero) e coluna 2(dois).

Caso queira imprimir todos os elementos que se encontram no ARRAY, será necessário a utilização de duas estruturas de repetição. Uma será responsável pela impressão da linha e a outra da coluna. A estrutura fica da seguinte forma:

for ($i=0; $i < 4; $i++) { 
 for ($x=0; $x < 3; $x++) { 
  echo " ".$alunos[$i][$x];
 }
}
Dessa forma o FOR se posicionará na primeira linha que é a 0 (zero) logo após isso ele irá executar o que tem dentro do LOOP que é outro FOR que se posicionará na primeira coluna e começará a imprimir ele vai até o fim da coluna, após isso ele irá parar por ter chegado ao fim, e volta para o LOOP anterior que irá acrescentar mais 1(um) que indica que a próxima linha e em seguida irá iniciar o outro LOOP novamente na primeira posição e isso ocorrerá até ele chegar a ultima linha e finalizar o primeiro LOOP.

A estrutura completa desse ARRAY fica da seguinte forma:
$alunos = array(
  array("Carlos","Pedro","Julia"),
  array("Clara","Fernanda","João"),
  array("Maria","Cleber","Thiago"),
  array("John","Lennon","Lucas")
  );

for ($i=0; $i < 4; $i++) { 
 for ($x=0; $x < 3; $x++) { 
  echo "
".$alunos[$i][$x];
 }
}

E aqui finalizamos a parte de Interação HTML - PHP. Todos os códigos PHP postados aqui, vocês podem coloca-los no seu servidor web e está executando para ver como será o retorno dos resultados. Continuem ligados no TURIMLAB para mais posts sobre PHP e tudo sobre tecnologia.
Dicas, sugestões e dúvidas podem colocar nos comentários!

0 comentários:

Postar um comentário