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 seu índice. Agora vamos ver como alterar esses elementos. Modificar um elemento de um array usa a mesma sintaxe de colchetes, 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 se foi—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; // Atualiza a primeira pontuação
$scores[2] = 82; // Atualiza a última pontuação
echo $scores[0]; // 95
echo $scores[2]; // 82
?>Isso é útil quando você precisa atualizar dados em sua lista — como corrigir um erro de digitação, atualizar um preço ou alterar o status de um usuário. O índice diz ao PHP exatamente qual elemento substituir, deixando todos os outros elementos intocados.
Desafio
FácilLeia uma linha de entrada contendo valores separados por vírgula que representam uma lista de cores (ex.: Red,Green,Blue,Yellow).
Em seguida, leia mais três entradas:
- Um inteiro
index1representando o primeiro índice a ser modificado - Uma string
newValue1representando o novo valor para esse índice - Um inteiro
index2representando o segundo índice a ser modificado
Crie um array a partir da entrada separada por vírgula e, em seguida:
- Modifique o elemento no
index1para sernewValue1 - Modifique o elemento no
index2para serPurple
Imprima os elementos do array modificado em linhas separadas, na ordem do índice 0 até o ú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
PurpleExperimente você mesmo
<?php
// Leia as cores separadas por vírgula
$colorsInput = trim(fgets(STDIN));
$colors = explode(',', $colorsInput);
// Leia 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 em index1 para ser newValue1
// 2. Modifique o elemento em index2 para ser o texto exato das instruções
// Imprima cada elemento em uma linha separada
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 ListPratique por conta própria: Compilador de PHP online