Como declarar, atribuir e acessar elementos de um Array em PHP



Neste tutorial vamos mostrar como declarar, atribuir e acessar arrays em PHP.

Array é um tipo de dados do PHP que pode receber mais de um valor ao mesmo tempo. Além disso, cada valor de um array estará sempre relacionado à uma chave de identificação. Portanto, esta estrutura de dados é também conhecida como variável indexada, vetor ou matriz.

Tipos de dados: O PHP suporta diferentes tipos de dados divididos em duas categorias, escalares e compostos:

Compostos: Array e Object

Escalares: Int, Float, String e Boolean

Declarando um Array

a) Para declararmos um array utilizamos o construtor de linguagem array(), como mostra a sintaxe abaixo:

$valores = array(100, 500, 1000);

b) Também podemos declarar um array em PHP utilizando colchetes. As duas sintaxes são equivalentes. Veja o nosso exemplo:

$valores = [100, 500, 1000];

c) Para facilitar o desenvolvimento e a visualização dos códigos, podemos declarar arrays como mostra o exemplo abaixo:

Obs.: Este formato não atera a relação dos valores atribuídos ao array.

// Exemplo 1
$valores1 = array(
   100,
   500,
   1000
);

// Exemplo 2
$valores2 = [
   100,
   500,
   1000
];

d) Para visualizarmos os elementos de um array podemos utilizar a função print_r(). Veja o exemplo abaixo:

<?php
// Exemplo 1
$valores1 = array(
   100,
   500,
   1000
);

// Exemplo 2
$valores2 = [100, 500, 1000];

print_r($valores1);
echo '<br />';
print_r($valores2);

Veja como ficou o nosso exemplo.

Nota: Observe que mesmo omitindo as chaves ao declararmos um array, elas são criadas automaticamente a partir de zero.

e) Uma variável array poderá receber valores de diversos tipos de dados, como strings, números, arrays, boolean, ou seja, qualquer tipo de dados, primitivo ou objeto. Veja o exemplo abaixo: 

Obs.: Utilizamos a tag <pre></pre> para melhorar a visualização dos valores.

<?php
$minhaArray = array(
    100,// Tipo de dado numérico
    new DateTime(),// Tipo de dado Object
    'Qualquer texto',// Tipo de dado String
    array('fiat', 'hunday', 'suzuki'), // Tipod de data array
    true,
    200
);  
echo '<pre>';
print_r($minhaArray);
echo '</pre>';

Veja como ficou o nosso exemplo.

Nota: Observe que sempre que omitimos a definição das chaves, elas são criadas automaticamente de forma numérica e geradas em sequência a partir de zero. Arrays nestas condições são denominados arrays numéricos.

f) O PHP também permite a declaração de arrays associativos. Para isto, o construtor de array() deve receber os valores e as chaves às quais estão associados. Veja o exemplo abaixo:

<?php
$cliente = array(
    'nome' => 'Antonio',
     'sobrenome' => 'Carlos',
     'idade' => 35,
     'telefone' => '9999-9999'
);  
echo '<pre>';
print_r($cliente);
echo '</pre>';

Veja como ficou o nosso exemplo.

g) O PHP permite também a declaração de arrays mistos, com índices numéricos automáticos e índices nomeados. Veja o exemplo abaixo:

<?php
$cliente = array(
    'id',
    'nome' => 'Antonio',
	'sobrenome' => 'Carlos',
	'idade' => 35,
	'telefone' => '9999-9999',
    5 => 2120,
    "cadastrado"
);  
echo '<pre>';
print_r($cliente);
echo '</pre>';

Veja como ficou o nosso exemplo.

Obs.1: Como o primeiro elemento do array não foi nomeado, o PHP atribuiu automaticamente a ele a chave numérica [0].

Obs.2: Veja que definimos o número 5 para a chave que contém o valor 2120 (5 => 2120). Isto mostra que podemos nomear as chaves com textos ou valores numéricos.

Obs.3: Se a índice do valor 2120 não fosse definido, o PHP iria atribuir automaticamente a chave numérica [1] para ele e não [5]. Lembre-se que o PHP gera automaticamente índices numéricos apenas para os elementos com chaves as chaves omitidas.

Obs.4: Assim como o primeiro elemento do array, o índice do último elemento também não foi definido. Da mesma forma,  o PHP atribuiu automaticamente uma chave numérica sequencial a partir do índice anterior que é [5]. Portanto, a chave numérica para o último elemento será [6].

h) No PHP podemos também declarar um array vazio. A declaração de array vazio é muito útil, pois com ela podemos definir que a variável somente receberá valores compostos tipo array. Veja abaixo um exemplo de como se declara um array vazio.

$valores = $array();

Como contar o número de elementos de um Array

Para verificarmos a quantidade de elementos de um array, utilizamos a função count() do PHP. Veja no nosso exemplo a seguir:

<?php
$cliente = array(
    'id',
    'nome' => 'Antonio',
	'sobrenome' => 'Carlos',
	'idade' => 35,
	'telefone' => '9999-9999',
    5 => 2120,
    "cadastrado"
);  
echo '<pre>';
print_r($cliente);
echo '</pre>';

$elementos = count($cliente);

echo "Meu Array possui: ".$elementos.' elementos';

Veja como ficou o nosso exemplo.

Como acessar dados para cada tipo de Array

1- Arrays numéricos: Arrays numéricos são arrays cujos índices são criados automaticamente pelo PHP e apresentados na forma numérica apenas. Podemos acessar um valor diretamente através da sua posição, ou melhor, da chave numérica a qual ele está relacionado.

echo $nomeVariaevel[posição];

O exemplo a seguir mostra como podemos acessar valores de um array numérico:

<?php
$cliente = array(
    'id',
    'Antonio',
	'Carlos',
	35,
	'9999-9999',
    2120,
    "cadastrado"
);

echo '<pre>';
print_r($cliente);
echo '</pre>';

echo "Meu Array possui: ".count($cliente).' elementos';
echo '<br><br>';

$nome = $cliente[1];
$sobrenome = $cliente[2];
$idade = $cliente[3];

echo "Nome do Cliente: ".$nome;
echo '<br><br>';
echo "Sobrenome do Cliente: ".$sobrenome;
echo '<br><br>';
echo "Idade do Cliente: ".$idade;

Veja como ficou o nosso exemplo.

2 - Arrays associativos: São arrays com índices definidos por uma string (texto) ou um valor numérico inteiro. Podemos acessar um valor diretamente através do nome da chave, ou seja, da string ou número inteiro que o identifica.

echo $nomeVariaevel[nome da chave];

 O exemplo a seguir mostra como podemos acessar valores de um array numérico:

<?php
$cliente = array(
    'nome' => 'Antonio',
     'sobrenome' => 'Carlos',
     'idade' => 35,
     'telefone' => '9999-9999'
     0 => "B20932"
);  
echo '<pre>';
print_r($cliente);
echo '</pre>';

Veja como ficou o nosso exemplo.

 3 - Arrays Multidimensionais: São arrays cujos valores são constituídos de outros arrays. Também podem ser denominados matrizes.

echo $nomeVariaevel[posição ou nome da chave do array][posição ou nome da chave do valor];

Veja no exemplo abaixo como podemos acessar dados de um array multidimensional:

<?php
$cliente = array(
    array('nome' => 'Antonio', 'sobrenome' => 'Carlos', 'idade' => 35, 1 => "B20932"),
    array('nome' => 'Pedro', 'sobrenome' => 'Santos', 'idade' => 42, 1 => "B20933"),
    array('nome' => 'Maria', 'sobrenome' => 'Carlos', 'idade' => 28, 1 => "B20934"),
);  

echo '<pre>';
print_r($cliente);
echo '</pre>';

$nome = $cliente[0]['nome'];
$sobrenome = $cliente[1]['sobrenome'];
$idade = $cliente[2]['idade'];
$codigo = $cliente[1][1];

echo "Nome do Primeiro Cliente: ".$nome;
echo '<br><br>';
echo "Sobrenome do Segundo Cliente: ".$sobrenome;
echo '<br><br>';
echo "Idade do Terceiro Cliente: ".$idade;
echo '<br><br>';
echo "Código do Segundo Cliente: ".$codigo;

Veja como ficou o nosso exemplo.

Percorrendo os índices de um array

No PHP, podemos percorrer os valores de um array através da estrutura de repetição foreach(). Isto é muito útil para criarmos listas de dados. Veja os exemplos abaixo:

Exemplo 1 - array associativo:

<?php
$array = array(
	"key1" => 1,
	"key2" => "dois",
	"key3" => '3',
    "key4" => true,
    "key5" => 'cinco',
    0 => 6,
    1 => 7,
    2 => 'oito'
);
 
foreach ($array as $chave => $valor){
    echo "{$chave}: {$valor} <br/>";
    echo "O valor <strong>{$valor}</strong> está associado à chave: <strong>{$chave}</strong><br /><br />";
}

Obs.: No PHP podemos concatenar variáveis utilizando chaves "{}".

Veja como ficou o nosso exemplo.

Exemplo 2 - array multidimensional:

<?php
$clientes = array(
    array('nome' => 'Antonio', 'sobrenome' => 'Carlos', 'idade' => 35, 0 => true),
    array('nome' => 'Pedro', 'sobrenome' => 'Santos', 'idade' => 42, 0 => false),
    array('nome' => 'Maria', 'sobrenome' => 'Carlos', 'idade' => 28, 0 => true),
);  

foreach ($clientes as $row) {
    if($row[0]){
        echo "Cliente: {$row['nome']} {$row['sobrenome']}, idade {$row['idade']}, está ativo<br><br>";
    } else {
        echo "Cliente: {$row['nome']} {$row['sobrenome']}, idade {$row['idade']}, não está ativo<br><br>";
    }   
}

Obs.: No PHP podemos concatenar variáveis utilizando chaves "{}".

Veja como ficou o nosso exemplo.

Como atribuir ou alterar valores de uma array

1- No exemplo abaixo vamos atribuir e alterar valores a partir de um array vazio:

<?php
$valores = array();

print_r($valores);

$valores['teste1'] = "acrescentei um elemento no array";

echo '<pre>';
print_r($valores);
echo '</pre>';

$valores['teste2'] = "acrescentei mais um elemento no array";

echo '<pre>';
print_r($valores);
echo '</pre>';

$valores['teste3'] = "acrescentei o terceiro elemento no array";

echo '<pre>';
print_r($valores);
echo '</pre>';

$valores['teste2'] = "ALTEREI O VALOR DO SEGUNDO ELEMENTO";

echo '<pre>';
print_r($valores);
echo '</pre>';

 

Veja como ficou o nosso exemplo.

 2- Agora vamos adicionar e alterar elementos em um array associativo:

<?php
$cliente = array(
    'nome' => 'Antonio',
    'sobrenome' => 'Carlos',
    'idade' => 35,
    'dados' => array(345, 999, 789)
);  
echo '<pre>';
print_r($cliente);
echo '</pre>';

$cliente['telefone'] = '9999-88888 - elemento acrescentado';

echo '<pre>';
print_r($cliente);
echo '</pre>';

$cliente['dados'][2] = 'Dado alterado';
$cliente['dados'][] = 'Dado acrescentado';

echo '<pre>';
print_r($cliente);
echo '</pre>';
 
 

Veja como ficou o nosso exemplo.

Documentação Oficial

1. [array() - PHP] » Manual PHP - Arrays.

2. [print_r() - PHP] » Manual PHP - print_r.

3. [count()] » Manual PHP - count.

3. [foreach() - PHP] » Manual PHP - foreach

O anúncio abaixo ajuda manter o Portal Visual Dicas

Comentários

×

Infomações do site / SEO