Các mục mảng cập nhật PHP
Cập nhật mục mảng
Để cập nhật một mục mảng hiện có, bạn có thể tham khảo số chỉ mục cho các mảng được lập chỉ mục và tên khóa cho các mảng kết hợp.
Ví dụ
Thay đổi mục mảng thứ hai từ "BMW" thành "Ford":
$cars = array("Volvo", "BMW", "Toyota");
$cars[1] = "Ford";
Hãy tự mình thử »Lưu ý: Mục đầu tiên có chỉ số 0.
Để cập nhật các mục từ một mảng kết hợp , hãy sử dụng tên khóa:
Ví dụ
Cập nhật năm tới 2024:
$cars = array("brand" => "Ford", "model" => "Mustang", "year" => 1964);
$cars["year"] = 2024;
Hãy tự mình thử »Cập nhật các mục mảng trong vòng lặp Foreach
Có nhiều kỹ thuật khác nhau để sử dụng khi thay đổi giá trị mục trong vòng lặp foreach
.
Một cách là chèn ký tự &
vào phép gán để gán giá trị mục theo tham chiếu và từ đó đảm bảo rằng mọi thay đổi được thực hiện với mục mảng bên trong vòng lặp sẽ được thực hiện đối với mảng ban đầu:
Ví dụ
Thay đổi TẤT CẢ giá trị mục thành "Ford":
$cars = array("Volvo", "BMW", "Toyota");
foreach ($cars as &$x) {
$x = "Ford";
}
unset($x);
var_dump($cars);
Hãy tự mình thử » Lưu ý: Hãy nhớ thêm hàm unset()
sau vòng lặp.
Nếu không có hàm unset($x)
, biến $x
sẽ vẫn là tham chiếu đến mục mảng cuối cùng.
Để chứng minh điều này, hãy xem điều gì xảy ra khi chúng ta thay đổi giá trị của $x
sau vòng lặp foreach
:
Ví dụ
Chứng minh hậu quả của việc quên unset()
:
$cars = array("Volvo", "BMW", "Toyota");
foreach ($cars as &$x) {
$x = "Ford";
}
$x = "ice cream";
var_dump($cars);
Hãy tự mình thử »