Menu
CoddyTech

Sửa phần tử theo chỉ số

Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 37 trên 71.

Bạn đã học cách truy cập các phần tử trong mảng bằng chỉ số. Giờ hãy cùng tìm hiểu cách thay đổi các phần tử đó. Để sửa một phần tử trong mảng, bạn dùng cùng cú pháp dấu ngoặc vuông, nhưng thêm phép gán.

<?php
$fruits = ["Apple", "Banana", "Cherry"];

$fruits[1] = "Blueberry";

echo $fruits[1]; // Blueberry
?>

Ở đây, chúng ta đã thay "Banana" ở chỉ số 1 bằng "Blueberry". Giá trị ban đầu đã mất: mảng không lưu lại lịch sử thay đổi.

Bạn có thể sửa đổi bất kỳ phần tử nào nếu biết chỉ số của nó:

<?php
$scores = [85, 90, 78];

$scores[0] = 95;  // Cập nhật điểm đầu tiên
$scores[2] = 82;  // Cập nhật điểm cuối cùng

echo $scores[0]; // 95
echo $scores[2]; // 82
?>

Điều này hữu ích khi bạn cần cập nhật dữ liệu trong danh sách, chẳng hạn như sửa lỗi chính tả, cập nhật giá hoặc thay đổi trạng thái của người dùng. Chỉ số cho PHP biết chính xác phần tử nào cần thay thế, còn các phần tử khác vẫn giữ nguyên.

challenge icon

Thử thách

Dễ

Đọc một dòng đầu vào chứa các giá trị được phân tách bằng dấu phẩy, đại diện cho danh sách màu (ví dụ: Red,Green,Blue,Yellow).

Sau đó đọc thêm ba giá trị đầu vào:

  • Một số nguyên index1 đại diện cho chỉ số đầu tiên cần sửa đổi
  • Một chuỗi newValue1 đại diện cho giá trị mới tại chỉ số đó
  • Một số nguyên index2 đại diện cho chỉ số thứ hai cần sửa đổi

Tạo một mảng từ dữ liệu đầu vào được phân tách bằng dấu phẩy, sau đó:

  1. Sửa đổi phần tử tại index1 thành newValue1
  2. Sửa đổi phần tử tại index2 thành Purple

In các phần tử của mảng đã sửa đổi trên các dòng riêng biệt, theo thứ tự từ chỉ số 0 đến chỉ số cuối cùng.

Ví dụ:

Nếu dữ liệu đầu vào là Red,Green,Blue,Yellow, 0, Orange và 2, đầu ra sẽ là:

Orange
Green
Purple
Yellow

Nếu dữ liệu đầu vào là Apple,Banana,Cherry,Mango,Kiwi, 1, Grape và 4, đầu ra sẽ là:

Apple
Grape
Cherry
Mango
Purple

Tự làm thử

<?php
// Đọc các màu phân tách bằng dấu phẩy
$colorsInput = trim(fgets(STDIN));
$colors = explode(',', $colorsInput);

// Đọc các đầu vào để thay đổi
$index1 = intval(trim(fgets(STDIN)));
$newValue1 = trim(fgets(STDIN));
$index2 = intval(trim(fgets(STDIN)));

// TODO: Viết code của bạn tại đây
// 1. Đổi phần tử tại chỉ số index1 thành newValue1
// 2. Đổi phần tử tại chỉ số index2 thành đúng đoạn văn bản trong hướng dẫn

// In mỗi phần tử trên một dòng riêng
foreach ($colors as $color) {
    echo $color . "\n";
}
?>
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức cơ bản

Tự luyện tập: Trình biên dịch PHP online