Giá trị foreach php

Ở bài trước ta đã học về các loại vòng như for, while, do while các em có thể xem lại Bài 6. Các loại vòng lặp trong PHP [for, while, do while]. Còn ở bài này mình vẫn sẽ giới thiệu về vòng lặp nhưng nội dung chỉ xoay quanh duy nhất một vòng đó là vòng lặp foreach trong PHP

Vòng lặp Foreach trong PHP

Vòng lặp foreach trong PHP

Vòng lặp foreach là loại vòng lặp được sử dụng để duyệt các phần tử trong mảng, đối tượng. Đây là loại vòng lặp thông thường sẽ được sử dụng rất nhiều trong các dự án PHP sau này, đặc biệt là các bài liên quan đến cơ sở dữ liệu

cú pháp

hoặc

in which

  • 1
    . Là biến mà bạn muốn lặp lại [có thể là mảng, đối tượng].
  • ____10 . Is an key of array or properties of object.
  • 1
    . Là một biến tạm thời được sử dụng để chứa giá trị được sao chép của từng phần tử của mảng, đối tượng.

Bai tập ví dụ 1

At ví dụ trên thì $array là mảng ta truyền vào, $key và $value là 2 tham số mà ở mỗi vòng lặp nó tự động truyền giá trị. Kết quả xuất ra màn hình là

Phần tử có khóa = 0 và giá trị= A
Phần tử có khóa = 1 và giá trị= B
Phần tử có khóa = 2 và giá trị= C
Phần tử có khóa =

Cũng từ ví dụ trên ta có thể sử dụng theo cú pháp thứ 2 của vòng lặp foreach trong php như sau

Ở mỗi vòng lặp foreach, PHP sẽ tạo ra các bản sao để chúng ta lấy dữ liệu của phần tử đang lặp đó, bản sao này sẽ bị loại bỏ ngay lập tức sau khi vòng lặp kết thúc. Và ở mỗi vòng lặp sẽ kiểm tra xem còn phần tử liền kề hay không?

Ở ví dụ trên, các bản sao của biến $array đã được tạo ra và mình đã không truyền biến $key vào trong vòng foreach nên mình chỉ có thể xuất các giá trị $value ra màn hình mà thôi

Kết quả xuất ra màn hình sẽ là. A -B -C -D –

Sử dụng tham chiếu để thay đổi phần tử hiện tại trong mảng foreach

Vui lòng xem ví dụ bên dưới

Kết quả ra màn hình sẽ là

Array
[
    [0] => one
    [1] => two
    [2] => three
    [3] => four
    [4] => five
]

At ví dụ trên mình đã sử dụng hàm strtoupper Mục đích đích trong hoa hết các chuỗi ký tự là giá trị của các phần tử có trong mảng bảng. Nhưng kết quả xuất ra màn hình vẫn là bình thường

Giải thích

Khi bắng đầu 1 vòng lặp foreach, PHP sẽ tạo ra 1 bản sao của mảng gốc để lặp, cho nên khi thay đổi các giá trị trong mảng gốc thì sẽ không có tác dụng. Vì vậy khi lặp chúng ta sẽ truyền tham chiếu truy xuất đến mảng gốc, có như vậy thì PHP sẽ không tạo 1 bản sao mảng để sử dụng nữa mà nó sẽ được gọi đến và lặp trực tiếp trên mảng gốc. Khi này, chúng ta thay đổi giá trị các phần tử trong mảng gốc sẽ có tác dụng

Cách gọi 1 tham chiếu cho biến. set more character “ & ” before that variable.

Như vậy cũng từ ví dụ trên ta sẽ làm như sau

________số 8

Ở đây mình đã sử dụng tham chiếu &$value để truy xuất đến mảng gốc, khi này ta thay đổi giá trị của các tham chiếu .

Array
[
    [0] => XIN
    [1] => CHAO
    [2] => MOI
    [3] => NGUOI
    [4] => DEN
    [5] => VOI
    [6] => KHOA
    [7] => HOC
    [8] => PHP
    [9] => CAN
    [10] => BAN
]

Kết luận

  • Foreach trong PHP sẽ tạo ra một bản sao của mảng để lặp lại
  • When foreach repeat on the copy of a array root, instead of change value section in an array by way information will not have a effect
  • Muốn thay đổi giá trị phần tử hiện tại trong khi lặp thì phải sử dụng tham chiếu

Vòng lặp foreach lồng nhau [mảng 2 chiều]

Cũng giống như các vòng lặp đã được đề cập ở bài 6 thì đối với vòng lặp foreach trong bài này cũng có tính chất tương tự là có thể lồng vào nhau. Thường thì ta sẽ sử dụng vòng lặp foreach gap nhau để duyệt phần tử của mảng 2 chiều

Ví dụ. duyệt các phần tử của mảng 2 chiều bằng vòng lặp foreach.

0

Như vậy ta sẽ có kết quả thống kê như sau. 1 – 4 – 6 – aa – bb – 10 – cc – 0 –

end

Vì vậy là qua bài 6 và bài 7 này mình đã giới thiệu cho các bạn về 4 loạn vòng lặp khác nhau thường được sử dụng trong PHP. Nếu các bạn có thắc mắc cần tư vấn điều gì thì hãy để lại bình luận bên dưới bài viết này nhé. , Mình sẽ cố gắng hỗ trợ các bạn

Hãy tiếp tục trong loạt bài học PHP cơ bản ở các bài viết tiếp theo các bạn nhé

Nếu các bạn cảm thấy Website TanHongIT. Com thật sự hữu ích mình mong các bạn có thể share những bài viết để cộng đồng cùng thảo luận nhé. Cảm ơn các bạn

Các bạn có bất kỳ thắc mắc nào cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, học khóa,… thì cứ comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé. Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất

Chủ Đề