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 seus 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 array interno representa uma linha, e cada elemento dentro desses arrays representa uma coluna. Você também pode criar arrays 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 uma matriz 2D com eficiência. Por exemplo, para criar uma grade 3x3 em que cada célula começa com 0:
<?php
$grid = array_fill(0, 3, array_fill(0, 3, 0));
// Resultado: um array 3x3 onde cada elemento é 0
?>Arrays multidimensionais são incrivelmente úteis para organizar dados estruturados, como tabuleiros de jogos, tabelas de informações ou qualquer situação em que você precise representar dados em um formato de grade. Elas 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 uma matriz 2D: o número de rows, o número de columns e um valor para preencher cada posição. Leia essas entradas, create uma matriz 2D com as dimensões especificadas, na qual cada element é definido com o valor fornecido, e imprima a matriz usando print_r().
Formato da entrada:
- Primeira linha: número de
rows(inteiro) - Segunda linha: número de
columns(inteiro) - Terceira linha: valor inicial de cada
element(string)
Saída esperada: a matriz 2D criada, exibida usando print_r()
Experimente você mesmo
<?php
// Ler 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
// Exibir 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