Php lặp qua mảng đối tượng

Sâu thẳm trong trái tim của PHP, một đối tượng không thực sự khác biệt nhiều so với một mảng - một đối tượng có các con trỏ tới các hàm của lớp của nó, nhưng nếu không thì nó chỉ lưu trữ các biến. Kết quả là, chúng ta có thể coi một đối tượng là một mảng với vòng lặp foreach và nó sẽ lặp qua từng biến bên trong đối tượng đó - miễn là chúng có thể truy cập được. Tức là các biến riêng tư và được bảo vệ sẽ không thể truy cập được trong phạm vi chung. Hãy xem kịch bản này

 $value] {
        echo "$var is $value\n";
    }
?>

Lưu tập lệnh đó dưới dạng đối tượng mảng. php và thử chạy nó. Đầu ra của bạn phải là cái này

 $value] {
                echo "$var is $value\n";
            }
        }
    }

    $bill = new person[];
    $bill->outputVars[];
?>
8

Lưu ý rằng biến $Password không hiển thị vì nó được đánh dấu là Riêng tư và chúng tôi đang cố truy cập nó từ phạm vi toàn cầu. Nếu chúng ta sắp xếp lại tập lệnh một chút để vòng lặp foreach được gọi bởi đối tượng, chúng ta sẽ có thể thấy biến

 $value] {
                echo "$var is $value\n";
            }
        }
    }

    $bill = new person[];
    $bill->outputVars[];
?>

Bây giờ đầu ra là thế này

 $value] {
                echo "$var is $value\n";
            }
        }
    }

    $bill = new person[];
    $bill->outputVars[];
?>
9

Bây giờ, đối tượng tự lặp qua các biến của nó, chúng ta có thể thấy các biến riêng tư vẫn ổn. Lặp qua các đối tượng theo cách này là một cách tuyệt vời để viết tay các hàm tuần tự hóa - chỉ cần nhớ đặt hàm bên trong đối tượng, nếu không thì dữ liệu riêng tư và được bảo vệ sẽ bị bỏ qua

Bạn muốn học PHP 7?

Hacking with PHP đã được cập nhật đầy đủ cho PHP 7 và hiện có sẵn dưới dạng PDF có thể tải xuống. Nhận hơn 1200 trang học PHP thực hành ngay hôm nay

Nếu điều này hữu ích, vui lòng dành chút thời gian để nói với những người khác về Hacking với PHP bằng cách tweet về nó

Trong hướng dẫn này, chúng ta xem xét vòng lặp PHP foreach[]. Chúng tôi cũng xem xét cách sử dụng nó trong khi làm việc với một mảng được lập chỉ mục hoặc kết hợp

Mục lục - PHP foreach

  • foreach[] là gì?
  • Mã và giải thích
  • mảng được lập chỉ mục
  • mảng kết hợp
  • Bớt tư tưởng

foreach trong PHP là gì?

Phương thức

foreach [iterable as $key => $value]
    statement
8 được sử dụng để lặp qua các phần tử trong một mảng được lập chỉ mục hoặc mảng kết hợp. Nó cũng có thể được sử dụng để lặp lại các đối tượng. Điều này cho phép bạn chạy các khối mã cho từng phần tử

Cú pháp của PHP foreach[]

Phương thức foreach[] có hai cú pháp, một cú pháp cho mỗi loại mảng

Cú pháp cho các mảng được lập chỉ mục như được đưa ra trong khối mã sau

foreach [iterable as $value]
    statement

Cú pháp cho mảng kết hợp

foreach [iterable as $key => $value]
    statement

Ở đây,

foreach [iterable as $key => $value]
    statement
9 là tham số bắt buộc. Nó là mảng hoặc biến chứa mảng.

0 là một biến lưu trữ phần tử hiện tại trong mỗi lần lặp

Mảng được liên kết, sử dụng các khóa và giá trị, do đó,


1 &

2 trong cú pháp thứ hai biểu thị giống nhau cho phù hợp

Mã & Giải thích

Trong phần này, trước tiên chúng ta xem cách hàm

foreach [iterable as $key => $value]
    statement
8 hoạt động trên một mảng được lập chỉ mục, sau đó chúng ta xem nó hoạt động trên một mảng kết hợp

PHP Foreach[] trên các mảng được lập chỉ mục


Đầu ra của đoạn mã trên sẽ là

 $value] {
                echo "$var is $value\n";
            }
        }
    }

    $bill = new person[];
    $bill->outputVars[];
?>
1

PHP Foreach[] trên một mảng Associated

 $value] {
                echo "$var is $value\n";
            }
        }
    }

    $bill = new person[];
    $bill->outputVars[];
?>
2

Đầu ra của đoạn mã trên sẽ là

 $value] {
                echo "$var is $value\n";
            }
        }
    }

    $bill = new person[];
    $bill->outputVars[];
?>
3

Bây giờ hãy xem trường hợp chúng ta truyền đối số thứ hai

Như bạn có thể thấy khóa và giá trị của mảng kết hợp đã được in. Ngoài ra, chúng tôi đã thay thế


4 bằng

5 để dễ đọc hơn

Bớt tư tưởng

Phương thức

foreach [iterable as $key => $value]
    statement
8 sẽ trả về lỗi trong trường hợp bạn sử dụng nó trên các biến có kiểu dữ liệu khác. Ngoài ra, phương pháp
foreach [iterable as $key => $value]
    statement
8 không sửa đổi các giá trị của con trỏ bên trong

Làm cách nào để lặp qua mảng đối tượng trong PHP?

Vòng lặp While . Trên thực tế, vòng lặp while là một trong những phương pháp phổ biến nhất để lặp qua mảng PHP. Điều đó có nghĩa là, trong khi biểu thức [hoặc điều kiện] đã cho là đúng, hãy thực thi mã bên trong dấu ngoặc nhọn và kiểm tra lại biểu thức.

Làm cách nào để lặp qua một mảng các mảng trong PHP?

Trả lời. Sử dụng vòng lặp lồng nhau trong PHP .

Làm cách nào để tạo mảng có vòng lặp trong PHP?

php // vòng lặp for [$i = 0; $i < 10; $i++] { $myArray[$i] = "Đây là phần tử ". $ tôi. " trong mảng"; . $x. " trong mảng";

Làm cách nào để lặp qua một mảng kết hợp trong PHP?

Phương thức foreach[] được sử dụng để lặp qua các phần tử trong một mảng được lập chỉ mục hoặc mảng kết hợp. Nó cũng có thể được sử dụng để lặp lại các đối tượng. Điều này cho phép bạn chạy các khối mã cho từng thành phần.

Chủ Đề