Modificando Elementos de um Array 2D
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 29 de 68.
Uma vez que você consegue acessar elementos em um array 2D, o próximo passo lógico é aprender como alterar seus valores. Modificar elementos em um array 2D utiliza a mesma sintaxe de indexação dupla que o acesso a eles, mas com um operador de atribuição para definir um novo valor.
Veja como modificar um elemento específico em um array bidimensional:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
// Altera a célula central para 'X'
$gameBoard[1][1] = "X";
// Altera o canto superior esquerdo para 'O'
$gameBoard[0][0] = "O";
?>A sintaxe $gameBoard[1][1] = "X" aponta para a linha 1, coluna 1 (o centro de uma grade 3x3) e atribui o valor "X" a essa posição. Isso modifica diretamente o array original, substituindo qualquer valor que estivesse lá antes.
Esta técnica de modificação é essencial para atualizar estados de jogo, alterar dados em tabelas ou qualquer cenário onde você precise alterar posições específicas dentro de sua estrutura de dados em forma de grade. A habilidade de identificar e atualizar locais exatos torna os arrays 2D perfeitos para representar informações dinâmicas e mutáveis organizadas em linhas e colunas.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Desafio
FácilVocê receberá quatro entradas: um array 2D representando um mapa de assentos em formato JSON, um índice de linha, um índice de coluna e o nome de um novo passageiro. Leia as quatro entradas, converta a string JSON em um array 2D, modifique o elemento na linha e coluna especificadas atribuindo o nome do novo passageiro e imprima o array 2D atualizado usando print_r().
O array 2D representa um mapa de assentos onde cada elemento contém o nome de um passageiro ou uma string vazia para assentos vagos.
Formato de entrada:
- Primeira linha: Um array JSON representando o mapa de assentos (exemplo:
[["Alice","Bob",""],["","Charlie","Diana"],["","",""]]) - Segunda linha: Índice da linha (inteiro)
- Terceira linha: Índice da coluna (inteiro)
- Quarta linha: Nome do novo passageiro (string)
Saída esperada: O array 2D modificado exibido usando print_r()
Folha de consulta
Para modificar elementos em um array 2D, use a sintaxe de indexação dupla com um operador de atribuição:
$array[row][column] = newValue;Exemplo modificando um tabuleiro de jogo:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
// Altere a célula central para 'X'
$gameBoard[1][1] = "X";
// Altere o canto superior esquerdo para 'O'
$gameBoard[0][0] = "O";
?>Isso modifica diretamente o array original, substituindo o valor na posição especificada. A técnica de modificação é essencial para atualizar dados dinâmicos organizados em linhas e colunas.
Experimente você mesmo
<?php
// Ler entradas
$json_input = trim(fgets(STDIN));
$row_index = intval(fgets(STDIN));
$col_index = intval(fgets(STDIN));
$new_passenger = trim(fgets(STDIN));
// Converter JSON para array 2D
$seating_chart = (array)json_decode($json_input, true);
// TODO: Escreva seu código abaixo para modificar o mapa de assentos
// Saída do array modificado
print_r($seating_chart);
?>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 Leaderboard