Modifying Elements by Index
Parte da seção Fundamentos do Journey de PHP da Coddy — lição 37 de 71.
Você aprendeu como acessar elementos de um array pelo índice deles. Agora vamos ver como alterar esses elementos. Modificar um elemento de um array usa a mesma sintaxe de colchetes quadrados, mas com uma atribuição.
<?php
$fruits = ["Apple", "Banana", "Cherry"];
$fruits[1] = "Blueberry";
echo $fruits[1]; // Blueberry
?>Aqui, substituímos "Banana" no índice 1 por "Blueberry". O valor original sumiu — arrays não mantêm um histórico de alterações.
Você pode modificar qualquer elemento desde que saiba seu índice:
<?php
$scores = [85, 90, 78];
$scores[0] = 95; // Update first score
$scores[2] = 82; // Update last score
echo $scores[0]; // 95
echo $scores[2]; // 82
?>Isso é útil quando você precisa atualizar dados na sua lista — como corrigir um erro de digitação, atualizar um preço ou alterar o status de um usuário. O índice informa ao PHP exatamente qual elemento substituir, deixando todos os outros elementos intocados.
Desafio
FácilLeia uma linha de entrada contendo valores separados por vírgulas representando uma lista de cores (ex.: Red,Green,Blue,Yellow).
Em seguida, leia mais três entradas:
- Um inteiro
index1representando o primeiro índice a modificar - Uma string
newValue1representando o novo valor para esse índice - Um inteiro
index2representando o segundo índice a modificar
Crie um array a partir da entrada separada por vírgulas, depois:
- Modifique o elemento em
index1para sernewValue1 - Modifique o elemento em
index2para serPurple
Imprima os elementos do array modificado em linhas separadas, na ordem do índice 0 ao último índice.
Exemplo:
Se as entradas forem Red,Green,Blue,Yellow, 0, Orange e 2, a saída deve ser:
Orange
Green
Purple
YellowSe as entradas forem Apple,Banana,Cherry,Mango,Kiwi, 1, Grape e 4, a saída deve ser:
Apple
Grape
Cherry
Mango
PurpleFolha de consulta
Para modificar um elemento de um array, use o índice com colchetes quadrados e atribuição:
<?php
$fruits = ["Apple", "Banana", "Cherry"];
$fruits[1] = "Blueberry"; // Changes "Banana" to "Blueberry"
echo $fruits[1]; // Blueberry
?>Você pode modificar múltiplos elementos especificando diferentes índices:
<?php
$scores = [85, 90, 78];
$scores[0] = 95; // Update first element
$scores[2] = 82; // Update last element
?>O valor original é substituído e não preservado. Outros elementos no array permanecem inalterados.
Experimente você mesmo
<?php
// Lê as cores separadas por vírgula
$colorsInput = trim(fgets(STDIN));
$colors = explode(',', $colorsInput);
// Lê as entradas de modificação
$index1 = intval(trim(fgets(STDIN)));
$newValue1 = trim(fgets(STDIN));
$index2 = intval(trim(fgets(STDIN)));
// TODO: Escreva seu código aqui
// 1. Modifique o elemento no índice index1 para newValue1
// 2. Modifique o elemento no índice index2 para ser "Purple"
// Output each element on a separate line
foreach ($colors as $color) {
echo $color . "\n";
}
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators6Arrays Part 1 - Indexed
Introduction to ArraysCreating Indexed ArraysAccessing Elements by IndexModifying Elements by IndexArray Size with CountAdding Elements to an ArrayRecap - Managing a Simple List