0Pricing
PHP Academy · Aula

Matrizes multidimensionais

Crie e percorra matrizes de matrizes.

Matrizes multidimensionais é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.

Arrays multidimensionais

Um array multidimensional é um array em que cada elemento é, por sua vez, um array. É comum em dados estruturados, como resultados de banco de dados ou árvores de configuração.

Criação de arrays bidimensionais

Crie e acesse um array bidimensional:

<?php
$matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
];

echo $matrix[1][2]; // 6 (row 1, col 2)
$matrix[0][0] = 99;
echo $matrix[0][0]; // 99

Array de arrays associativos

Conjuntos de resultados de banco de dados frequentemente são arrays de arrays associativos:

<?php
$users = [
    ['id' => 1, 'name' => 'Alice', 'role' => 'admin'],
    ['id' => 2, 'name' => 'Bob',   'role' => 'user'],
    ['id' => 3, 'name' => 'Carol', 'role' => 'user'],
];

echo $users[0]['name'];  // Alice
echo count($users);      // 3

Percorrendo arrays bidimensionais

Use foreach aninhado para percorrer todas as linhas e colunas:

<?php
$products = [
    ['name' => 'Widget', 'price' => 9.99],
    ['name' => 'Gadget', 'price' => 24.99],
];

foreach ($products as $product) {
    echo $product['name'] . ': $' . $product['price'] . PHP_EOL;
}

Acessando chaves aninhadas com segurança

Use o operador de coalescência nula para acessar com segurança chaves aninhadas que podem não existir:

<?php
$config = [
    'database' => ['host' => 'localhost', 'port' => 3306],
    'cache'    => ['driver' => 'redis'],
];

$port     = $config['database']['port'] ?? 3306;
$password = $config['database']['password'] ?? '';

echo $port;     // 3306
echo $password; // (empty)

Adicionando elementos a arrays aninhados

Adicione elementos em níveis profundos de um array multidimensional:

<?php
$app = [];
$app['settings']['theme'] = 'dark';
$app['settings']['lang']  = 'en';

$app['users'][] = ['name' => 'Alice'];
$app['users'][] = ['name' => 'Bob'];

echo count($app['users']);       // 2
echo $app['settings']['theme'];  // dark

array_column()

array_column() extrai uma única coluna de um array bidimensional:

<?php
$users = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Carol'],
];

$names = array_column($users, 'name');
print_r($names); // ['Alice', 'Bob', 'Carol']

// Re-index by id
$byId = array_column($users, null, 'id');
echo $byId[2]['name']; // Bob

Ordenando um array bidimensional

Ordene as linhas pelo valor de um campo usando usort():

<?php
$products = [
    ['name' => 'C Item', 'price' => 30],
    ['name' => 'A Item', 'price' => 10],
    ['name' => 'B Item', 'price' => 20],
];

usort($products, fn($a, $b) => $a['price'] <=> $b['price']);

foreach ($products as $p) {
    echo $p['name'] . PHP_EOL; // A Item, B Item, C Item
}

Operações recursivas com array_walk_recursive

Aplique uma função de retorno de chamada a cada folha de um array aninhado com array_walk_recursive():

<?php
$data = ['a' => 'hello', 'b' => ['c' => 'world', 'd' => 'php']];

array_walk_recursive($data, function(&$val) {
    $val = strtoupper($val);
});

print_r($data);
// ['a'=>'HELLO', 'b'=>['c'=>'WORLD','d'=>'PHP']]

JSON e arrays multidimensionais

Os arrays multidimensionais do PHP correspondem diretamente a objetos e arrays JSON:

<?php
$data = [
    'user'    => ['id' => 1, 'name' => 'Alice'],
    'scores'  => [95, 87, 92],
    'active'  => true,
];

$json = json_encode($data, JSON_PRETTY_PRINT);
echo $json;

$decoded = json_decode($json, true); // true = assoc array
echo $decoded['user']['name']; // Alice

array_merge versus array_replace para arrays aninhados

array_merge não é recursiva; use array_replace_recursive para mesclar arrays aninhados corretamente:

<?php
$defaults = ['db' => ['host' => 'localhost', 'port' => 3306]];
$custom   = ['db' => ['host' => 'production.server.com']];

$config = array_replace_recursive($defaults, $custom);
echo $config['db']['host'];  // production.server.com
echo $config['db']['port'];  // 3306 — preserved from defaults

Verificação rápida

Qual função extrai uma única coluna de valores de um array bidimensional?

Recapitulação: arrays multidimensionais

Pontos principais:

  • Aninhe arrays em qualquer profundidade
  • Use ?? para acessar com segurança chaves aninhadas ausentes
  • array_column() extrai uma coluna ou reindexa por uma chave
  • usort() com um comparador ordena por qualquer campo
  • array_walk_recursive() serve para transformações profundas
  • array_replace_recursive() serve para mesclagem profunda

Perguntas Frequentes

A aula “Matrizes multidimensionais” é grátis?

Sim — o texto completo de “Matrizes multidimensionais” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.

O que vou aprender em “Matrizes multidimensionais”?

Crie e percorra matrizes de matrizes. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar PHP Academy?

Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Matrizes multidimensionais”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de PHP Academy?

Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Matrizes indexadas e associativas
  2. Matrizes multidimensionais
  3. Ordenação e busca em matrizes
  4. Funções de transformação de matrizes
← Voltar para PHP Academy