Hướng dẫn cách thay đổi giá trị một phần tử trong mảng với lệnh foreach
trong php.
Hãy tưởng tượng bạn đang phụ trách làm một mẻ bánh nướng trong một nhà hàng 5 sao nọ. Bỗng nhiên bạn phát hiện có một cái bánh bị cháy khét lẹt đang nằm giữa những chiếc bánh ngon lành khác. Đã đến lúc bạn cần thay chiếc bánh đó bằng một chiếc bánh thơm ngon khác rồi đấy. Còn việc thay đổi bánh thế nào, hãy cùng Kiyoshi tìm hiểu cách thay đổi giá trị một phần tử trong mảng với lệnh foreach
trong php thông qua bài học hôm nay nhé.
Khi bạn lưu trữ giá trị của một phần tử trong một biến bằng câu lệnh foreach, một bản sao của giá trị sẽ được gán cho biến đó.
Do đó, bạn có thể sử dụng giá trị của phần tử thông qua biến, nhưng không thể thay đổi giá trị của phần tử đó trong mảng.
Để thay đổi giá trị một phần tử trong mảng với lệnh foreach
trong php, bạn cần cú pháp sau đây:
Cú pháp thay đổi giá trị một phần tử trong mảng với lệnh foreach
trong php
foreach (mảng as & biến giá trị){ |
Trong đó:
- mảng là tên mảng cần lấy phần tử ra
- biến giá trị là một biến được khởi tạo để chứa giá trị của phần tử
- khối câu lệnh là tập hợp các câu lệnh sẽ chạy trong vòng lặp
Khác với cú pháp thông thường của lệnh foreach
trong php, chúng ta thêm ký hiệu &
vào đằng trước biến giá trị
.
Ký hiệu &
giúp chúng ta khai báo biến giá trị sẽ tham chiếu trực tiếp giá trị của phần tử thay vì sử dụng bản copy của phần tử đó.
Do đó khi chúng ta thay đổi giá trị của biến giá trị thì giá trị của phần tử đó cũng thay đổi theo.
Ví dụ
Hãy cùng xem ví dụ dưới đây để hiểu rõ hơn.
$bảng_giá_tiền = array(80, 100, 120); |
Chúng ta lấy từng giá tiền trong $bảng_giá_tiền, nhân lên với 1.05 lần và sau đó thay đổi giá tiền đó bằng giá tiền mới.
Lưu ý trong ví dụ này, sau khi kết thúc lệnh foreach
, chúng ta thêm lệnh unset($value);
để reset lại biến $value
nhằm kết thúc việc tham chiếu trực tiếp giá trị của phần tử của biến này.
Lý do là bởi dù lệnh foreach
đã kết thúc, nhưng biến $value
vẫn tiếp tục tham chiếu giá trị của phần tử trong mảng $bảng_giá_tiền, nên trong các câu lệnh tiếp theo của chương trình php, có khả năng giá trị của phần tử trong $bảng_giá_tiền sẽ bị thay đổi mỗi khi biến $value
được sử dụng trong các câu lệnh khác.
Bằng việc sử dụng unset
, chúng ta đã reset lại biến giá trị và kết thúc phiên tham chiếu ở trên.
Thực hành
Trăm hay không bằng tay quen, hãy cùng thực hành với ví dụ sau đây:
Chương trình thay đổi giá tiền trong bảng giá
|
Tổng kết
Chúng ta có thể thay đổi giá trị một phần tử trong mảng với lệnh foreach
trong php bằng cách khai báo biến tham chiếu trực tiếp giá trị của phần tử trong mảng.
Để thực hiện được điều này, chúng ta sẽ thêm ký hiệu ‘&’ vào trước biến giá trị trong lệnh foreach
.
Cần lưu ý, sau khi kết thúc lệnh foreach
, chúng ta cần dùng lệnh unset
để hủy phiên tham chiếu biến đã dùng.
HOME>> hướng dẫn học lập trình php cho người mới bắt đầu>>vòng lặp trong php