Mini curso de PHP (Parte 10) – ARRAY()


1 Estrelas2 Estrelas3 Estrelas4 Estrelas5 Estrelas (8 votos, média: 4.63 de 5)
Loading ... Loading ...

http://br.php.net/manual/pt_BR/book.array.php

Ola, na aula de hoje, veremos sobre array(). Array é um tipo de variável, lembra a aula 2 quando vimos os tipos de variável? (http://marcelosabadini.com.br/blog/2008/04/22/mini-curso-de-php-sintaxe-variaveis-e-tipos-parte-2/). Array é um tipo de variável que tem posições, ou seja, é uma variável que pode conter mais de um valor. Por exemplo, você pode ter um array que armazena cores, ou um array que armazena dias da semana, ou um array que armazena os dados de uma pessoa. Então seria uma variável chamada $pessoa que conteria as informações: nome, endereço, e-mail, telefone, etc…

Para não complicar, vou mostrar um exemplo de array com as frutas ok?

$frutas = array(“Banana”, “Maça”, “Abacaxi”, “Morango’);

Perceberam? A variável $fruta contem vários valores.

Um array é organizado por índices, ou seja, para acessar a primeira posição do array $frutas, precisamos informar o índice: $frutas[0].
Por padrão, um array SEMPRE começa pelo índice 0(zero).
Então se eu quiser imprimir na tela a segunda posição do array, eu faço isso:

  1. <?php
  2. echo $frutas[1]; // a segunda posição tem q ser 1 pois o array começa com 0
  3. ?>

Em PHP, você pode definir um array de varias formas, veja abaixo a declaração desse nosso array de exemplo.

  1. <?php
  2. $frutas = array(0 => "Banana", 1 => "Maça", 2 => "Abacaxi", 3 => "Morango");
  3. ?>

No exemplo acima, veja que estou explicitando o índice do array, eu poderia usar uma palavra ao invés de números ok? EX: $frutas = array(“primeira” => “Banana”, “Segunda” => “Maça”);

Outra forma de declarar o array é:

$frutas[] = “Banana”,
$frutas[] = “Maça”,
$frutas[] = “Abacaxi”,
$frutas[] = “Morango”,

Fazendo desta forma, a cada linha o PHP coloca o valor ao final do array, como se fosse fazer assim:

$frutas[0] = “Banana”,
$frutas[
1] = “Maça”,
$frutas[
2] = “Abacaxi”,
$frutas[
3] = “Morango”,

 

Ok, agora vamos fazer outro array colocando alguns dados… Vamos fazer um array com dados de uma pessoa. Vou fazer isso no editor para poder comentar as linhas… Veja a imagem abaixo:

  1. <?
  2. $pessoa = array();
  3. $pessoa["nome"] = "Marcelo Sabadini";
  4. $pessoa["email"] = "marcelosabadini@gmail.com";
  5. $pessoa["cidade"] = "Belo Horizonte";
  6. $pessoa["blog"] = "http://marcelosabadini.com.br/blog/";
  7.  
  8. echo "Nome: ".$pessoa["nome"]."<br>";
  9. echo "E-mail: ".$pessoa["email"]."<br>";
  10. echo "Cidade: ".$pessoa["cidade"]."<br>";
  11. echo "Blog: ".$pessoa["blog"]."<br>";
  12. ?>

Explicação do código:

Linha 2: Declaração da variável sendo um array. Isto é para garantir que não ocorrerá erros ao rodar o script, pois em alguns servidores existe uma diretiva nas configurações do PHP que se não declarar este array iria aparecer um alerta na tela.. mas o script iria executar.
Linha 3: Criamos uma posição no array chamada ‘nome’.
Linha 4: Criamos uma posição no array chamada ‘email’.
Linha 5: Criamos uma posição no array chamada ‘cidade’.
Linha 6: Criamos uma posição no array chamada ‘blog’.

Da linha 8 até a 11 mandamos imprimir na tela os valores que foram armazenados no array.

Mas qual o motivo de se aprender a trabalhar com arrays?

Simples, imagine que isto é uma pagina com os detalhes dos usuários cadastrados no banco de dados… onde declaramos o array $pessoa seria a parte onde faríamos a consulta no banco de dados, na qual retornaria um array com os dados do usuário selecionado. Independente da pessoa que seria selecionada, não mudaria nada da linha 8 ate a linha 11. Pois cada índice, seria preenchido com os dados do banco de dados.

Rodando este script, teremos a seguinte saída:

array1 Mini curso de PHP (Parte 10)   ARRAY()

Se você olhar na referência que passei la no inicio do post, você vai ver muitas funções para trabalhar com array. Vou mostrar algumas funções muito úteis.

count(): Você passa um array como parâmetro e ele retorna quantos índices este array possui(seu tamanho). Ex:

  1. <?php
  2. echo count($pessoa);
  3. ?>

sort() / rsort(): Ordena o array

sort( $pessoa); // ordena um array em ordem crescente

rsort( $pessoa); // ordena um array em ordem DEcrescente

No link que passei, tem todas as funções disponível para trabalhar com array. Entre e de uma olhada.


Por hoje é só pessoal!! Espero ter ajudado.. qualquer duvida por favor deixe um comentário.

 

  1. 8 Comentários to “Mini curso de PHP (Parte 10) – ARRAY()”

  2. Marcelão, taí cara!
    do caralho o curso! continue com essa clareza e objetividade
    abraço!

    Corrige isso aqui ó:

    $conhecimentos = count( $pessoa[‘conhecimentos’]);

    for(i=0; $i<=$conhecimento; $i++{
    echo ( $pessoa[‘conhecimentos’]; [‘$i’])

    }

    ReplyReply

    Por Diego (15 comments) em 11/08/2008

  3. Grande Diego..

    Quase kra…

    Vc esqueceu de fechar o ) do for: for(…)
    Colocou o ; no lugar errado na hora de imprimir o conhecimento. Vc colocou assim: echo ( $pessoa[‘conhecimentos’]; [‘$i’]), e o certo é assim: echo ($pessoa[‘conhecimentos’][‘$i’]);

    Outra coisa, não ha necessidade de colocar o conteudo do echo entre parenteses ok?

    O codigo correto fica assim:

    $conhecimentos = count($pessoa[‘conhecimentos’]);

    for(i=0; $i<=$conhecimento; $i++){
    echo ($pessoa[‘conhecimentos’][‘$i’]);
    }

    Abração kra.. qq coisa só postar!

    ReplyReply

    Por Marcelo Sabadini (109 comments) em 11/08/2008

  4. Valeu brother! Continue metendo bronca!
    daqui a uns tempos vou postar um mini curso de ruby por estas bandas aqui, hehehe!

    abraço

    ReplyReply

    Por Diego (15 comments) em 11/08/2008

  5. Bom, agora pra quem não entendeu eu vou explicar.

    Raciocinio:
    1) Precisamos saber quantos conhecimentos a pessoa tem(tamanho do array);
    2) Precisamos mostrar todos os conhecimentos do array na tela;

    – O numero 1 ja sabemos como é, eu mostrei que existe a função count() que retorna o tamanho do array certo?
    – Com o tamanho do array em mãos(em uma variavel (que o Diego chamou de $conhecimentos, ele fez isso: $conhecimentos = count($pessoa[‘conhecimentos’]);) vamos fazer um FOR ( visto na aula 6) que o número de voltas será igual ao tamanho do array.
    for($i=0; $i<=$conhecimentos; $i++){

    }

    e dentro do FOR vamos imprimir cada um dos íncices do array, como vc viu na aula, para imprimir um índice você o coloca entre [ ] certo? tipo: $array[1].
    Então vamos mandar imprimir:

    $pessoa[‘conhecimentos’][$i]

    SIM, colocamos o índice do array $pessoa[‘conhecimentos’] sendo a volta do FOR, pois a cada volta $i será incrementado, começanco com 0(zero).

    Imagine que ele vai imprimir o seguinte:

    $pessoa[‘conhecimentos’][0]
    $pessoa[‘conhecimentos’][1]
    $pessoa[‘conhecimentos’][2]

    e vai imprimir até acabar o array.

    Se você não entendeu, por favor poste aqui ou me mande um e-mail ok??

    abraços!!

    ReplyReply

    Por Marcelo Sabadini (109 comments) em 11/08/2008

  6. Explicação com muita clareza e objetividade!

    Parabéns, Marcelo!

    ReplyReply

    Por Rivelton (1 comments) em 18/08/2008

  7. Ola Rivelton, fico feliz q gostou da aula…
    Minha intenção é exatamente essa… ser claro e objetivo… sem os rodeios que as apostilas fazem sempre hehehe

    um grande abraço!

    ReplyReply

    Por Marcelo Sabadini (109 comments) em 18/08/2008

  8. Oi Marcelo, tudo bem? Nao entendi como fica o inserir do sql pra mais de um aquivo no mesmo campo de uma tabela. Ou nao tem?
    To apanhando e muito hehehe

    obrigado

    ReplyReply

    Por Dalton Mendes (1 comments) em 24/08/2008

  9. [Dalton]
    – Desculpa kra mas eu não consegui entender o ‘inserir do sql pra mais de um aquivo no mesmo campo de uma tabela’. Teria como explicar novamente?

    ReplyReply

    Por Marcelo Sabadini (109 comments) em 24/08/2008

Coloque um Comentário

Links de comentários deveriam estar livres de nofollow.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes