Modifying Elements by Index
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası. Ders 37 / 71.
Dizi elemanlarına indeksleri aracılığıyla nasıl erişeceğinizi öğrendiniz. Şimdi bu elemanları nasıl değiştireceğinizi görelim. Bir dizi elemanını değiştirmek aynı köşeli parantez sözdizimini kullanır, ancak bir atama ile birlikte.
<?php
$fruits = ["Apple", "Banana", "Cherry"];
$fruits[1] = "Blueberry";
echo $fruits[1]; // Blueberry
?>Burada, index 1'deki "Banana" değerini "Blueberry" ile değiştirdik. Orijinal değer kayboldu—diziler değişiklik geçmişi tutmaz.
İndeksini bildiğiniz sürece herhangi bir elemanı değiştirebilirsiniz:
<?php
$scores = [85, 90, 78];
$scores[0] = 95; // İlk skoru güncelle
$scores[2] = 82; // Son skoru güncelle
echo $scores[0]; // 95
echo $scores[2]; // 82
?>Bu işlem, listenizdeki verileri güncellemeniz gerektiğinde—bir yazım hatasını düzeltmek, bir fiyatı güncellemek veya bir kullanıcının durumunu değiştirmek gibi—oldukça kullanışlıdır. İndeks, PHP'ye tam olarak hangi elemanı değiştireceğini söyler ve diğer tüm elemanları el değmeden bırakır.
Görev
KolayRenklerin listesini temsil eden virgülle ayrılmış değerler içeren bir girdi satırını okuyun (örneğin, Red,Green,Blue,Yellow).
Ardından üç girdi daha okuyun:
- Değiştirilecek ilk indeksi temsil eden bir
index1tam sayısı - Bu indeks için yeni değeri temsil eden bir
newValue1dizesi - Değiştirilecek ikinci indeksi temsil eden bir
index2tam sayısı
Virgülle ayrılmış girdiden bir dizi oluşturun, ardından:
index1konumundaki öğeyinewValue1olacak şekilde değiştirinindex2konumundaki öğeyiPurpleolacak şekilde değiştirin
Değiştirilen dizi öğelerini, indeks 0'dan son indekse kadar sırayla ayrı satırlarda yazdırın.
Örnek:
Girdiler Red,Green,Blue,Yellow, 0, Orange ve 2 ise, çıktı şu şekilde olmalıdır:
Orange
Green
Purple
YellowGirdiler Apple,Banana,Cherry,Mango,Kiwi, 1, Grape ve 4 ise, çıktı şu şekilde olmalıdır:
Apple
Grape
Cherry
Mango
PurpleKendin dene
<?php
// Virgülle ayrılmış renkleri oku
$colorsInput = trim(fgets(STDIN));
$colors = explode(',', $colorsInput);
// Değişiklik girdilerini oku
$index1 = intval(trim(fgets(STDIN)));
$newValue1 = trim(fgets(STDIN));
$index2 = intval(trim(fgets(STDIN)));
// TODO: Kodunu buraya yaz
// 1. index1'deki öğeyi newValue1 olacak şekilde değiştir
// 2. index2'deki öğeyi talimatlardaki tam metin olacak şekilde değiştir
// Her öğeyi ayrı bir satıra yazdır
foreach ($colors as $color) {
echo $color . "\n";
}
?>Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
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 ListKendi başına pratik yap: Online PHP derleyicisi