Criando um Array 2D
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy. Lição 27 de 68.
Um array multidimensional é simplesmente um array que contém outros arrays como elementos. O tipo mais comum é um array 2D, que você pode imaginar como uma grade com linhas e colunas, semelhante a uma planilha ou a um tabuleiro de jogo.
Criar um array 2D em PHP é simples. Você cria um array em que cada elemento é, por si só, um array:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
?>Isso cria uma grade 3x3 em que cada matriz interna representa uma linha, e cada elemento dentro dessas matrizes representa uma coluna. Você também pode criar matrizes 2D com diferentes tipos de dados:
<?php
$scores = [
[85, 92, 78],
[90, 88, 95],
[76, 84, 89]
];
?>O PHP também fornece uma função integrada chamada array_fill() que permite criar rapidamente um array preenchido com um valor específico. Ela recebe três argumentos: o índice inicial, o número de elementos e o valor a ser usado no preenchimento:
<?php
// array_fill(start_index, num_elements, value)
$row = array_fill(0, 3, 0); // [0, 0, 0]
?>Você pode combinar array_fill() consigo mesma para criar um array 2D com eficiência. Por exemplo, para criar uma grade 3x3 em que cada célula começa em 0:
<?php
$grid = array_fill(0, 3, array_fill(0, 3, 0));
// Resultado: um array 3x3 em que todos os elementos são 0
?>Arrays multidimensionais são extremamente úteis para organizar dados estruturados, como tabuleiros de jogos, tabelas de informações ou qualquer situação em que você precise representar dados em formato de grade. Eles oferecem uma maneira natural de trabalhar com linhas e colunas de informações relacionadas.
Desafio
FácilVocê receberá três entradas que representam as dimensões e o valor inicial de um array bidimensional: o número de linhas, o número de colunas e um valor para preencher cada posição. Leia essas entradas, crie um array bidimensional com as dimensões especificadas em que cada elemento seja definido com o valor fornecido e imprima o array usando print_r().
Formato de entrada:
- Primeira linha: Número de linhas (inteiro)
- Segunda linha: Número de colunas (inteiro)
- Terceira linha: Valor inicial de cada elemento (string)
Saída esperada: O array bidimensional criado, exibido usando print_r()
Experimente você mesmo
<?php
// Leia a entrada
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));
// TODO: Escreva seu código abaixo para criar o array 2D
// Exiba o resultado
print_r($array);
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica & Fluxo
1Funções Avançadas
Funções AnônimasClosures e 'use'Arrow FunctionsFunções de CallbackUsando 'call_user_func'Funções VariáveisPassagem por ReferênciaFunções RecursivasRecapitulação: Mix de Funções4Arrays Multidimensionais
Criando um Array 2DAcessando Elementos de um Array 2DModificando Elementos de um Array 2DIterando com Loops AninhadosArrays Associativos 2DRecapitulação: Exercício de Grade Simples2Manipulações Avançadas de Arrays
Adicionando com 'array_push'Removendo com 'array_pop'Adicionando com 'array_unshift'Removendo com 'array_shift'Mesclando Arrays IndexadosMesclando Arrays AssociativosExtraindo com 'array_slice'Valores com 'in_array'Chaves com 'array_search'Recapitulação: Exercício de Playlist3Ordenação de Arrays
Ordenar Arrays Indexados (Crescente)Ordenar Arrays Indexados (Decrescente)Ordenar Arrays Associativos por ValorOrdenar Arrays Associativos por ChaveOrdenação por Ordem NaturalOrdenação Personalizada com 'usort'Recapitulação: Ordenação de LeaderboardPratique por conta própria: Compilador de PHP online