Cấu trúc điều khiển là một trong những khía cạnh quan trọng nhất của bất kỳ ngôn ngữ nào và điều đó cũng đúng với PHP. Trong bài viết này, chúng ta sẽ thảo luận về một trong những cấu trúc điều khiển. tôi. vòng lặp foreach. Con trỏ sau sẽ được đề cập trong vòng lặp foreach này trong bài viết PHP
Khi chúng ta nói về vòng lặp foreach, nó hơi khác một chút so với các vòng lặp còn lại vì vòng lặp foreach chỉ xử lý mảng và đối tượng. Đó là cách tốt nhất để truy cập từng cặp khóa/giá trị từ một mảng
Tiếp tục với bài viết này về vòng lặp foreach trong php
Vòng lặp foreach trong PHP
Chúng tôi sử dụng vòng lặp foreach chủ yếu để lặp qua các giá trị của một mảng. Nó lặp qua mảng và mỗi giá trị cho phần tử mảng hiện tại được gán cho giá trị và con trỏ mảng được nâng lên một lần để đi tới phần tử tiếp theo trong mảng. Mặc dù vòng lặp foreach lặp qua một mảng các phần tử, nhưng việc thực thi được đơn giản hóa và kết thúc vòng lặp trong thời gian ngắn hơn so với vòng lặp for. Nó phân bổ bộ nhớ tạm thời cho các lần lặp lại chỉ mục, làm cho toàn bộ hệ thống dự phòng hiệu suất của nó về mặt phân bổ bộ nhớ. Có 2 cú pháp theo sau bởi vòng lặp foreach
foreach [$array as $value] { } Foreach [$array as $key => $value] { }
Ở dạng đầu tiên, Trên mỗi lần lặp, giá trị của phần tử hiện tại được gán cho $value và con trỏ mảng bên trong được tăng thêm một
Ở dạng thứ hai, $array là một mảng kết hợp và $key là khóa mảng mà chúng ta có thể lưu trữ bên trong một biến khóa và $value lưu trữ giá trị khóa mảng
Ví dụ dưới đây minh họa dạng cú pháp đầu tiên mà chúng ta đã thảo luận ở trên
Dạng thứ hai
Ví dụ dưới đây minh họa dạng cú pháp thứ hai mà chúng ta đã thảo luận ở trên
"ashok", "email" => "ashok@mail.com", "reg" => 11603529, "gender" => "male" ]; foreach[$student as $key => $value] { echo $key.": " .$value." "; } ?>
Như bạn có thể thấy, phần tử $current_language được gán trong khối mã, vì vậy nó luôn đề cập đến phần tử hiện tại. Đây là điều làm cho FOREACH trở nên mạnh mẽ và dễ sử dụng
Sử dụng các vòng lặp FOREACH với các khóa mảng khác nhau
Trong ví dụ đầu tiên chúng tôi đưa ra, mảng khá đơn giản. Khe 0 là mảng 0, khe 1 là mảng 1, v.v. có các phím số. Nhưng nếu bạn có khóa phần tử dựa trên văn bản thì sao?
Chúng tôi đang sử dụng một mảng để lưu trữ cài đặt cấu hình trong ví dụ tiếp theo. Mỗi phần tử mảng là một biến có kiểu dữ liệu khác nhau và khóa của mỗi phần tử là một chuỗi chứ không phải là một số.
$config["Programming_Language"] = "PHP";
$config["Strictly_Typed"] = "No";
$config["Version"] = 1;
Làm thế nào để chúng ta lặp lại điều này? . Nhưng bạn sẽ cần một cú pháp khác để xem xét các cặp giá trị khóa này vì bạn cũng có thể muốn biết câu lệnh giá trị khóa
Chúng ta hãy xem cú pháp FOREACH thứ cấp này
foreach[$array as $key => $value] {
$code_block;
}
Ở trên, các thông số hầu như không thay đổi
- mảng $. Đây là mảng để lặp qua
- khóa $. cái này mới. Đây là giá trị “chìa khóa” của mặt hàng
- giá trị $. Đây là giá trị của khóa đó
Ví dụ dưới đây sẽ lặp qua mảng các khóa chuỗi của chúng ta đồng thời bảo toàn cả khóa và giá trị của nó
$config["Programming_Language"] = "PHP";
$config["Strictly_Typed"] = "No";
$config["Version"] = 1;
foreach[$config as $key => $setting] {
print["$key: $setting
"];
}
Đây cũng là cách bạn sử dụng PHP FOREACH để lặp qua các đối tượng — đây là chủ đề thảo luận tiếp theo
Các khóa học hàng đầu về PHP
PHP cho người mới bắt đầu – Trở thành chuyên gia PHP – Dự án CMS
Edwin Diaz, Giải pháp Khoa mã hóa
4. 4 [23,253]
Người bán hàng giỏi nhất
API trong PHP. từ cơ bản đến nâng cao
Dave Hollingworth
4. 7 [538]
PHP cho người mới bắt đầu Phần 1. tất cả các mã được sử dụng được giải thích đầy đủ
Học viện mã hóa
4. 8 [1,427]
Tạo bản sao Spotify từ đầu. JavaScript PHP và MySQL
Reece Kenney
4. 5 [1,802]
Hướng đối tượng PHP & MVC
Brad Traversy
4. 7 [4,578]
Khóa học dành cho nhà phát triển PHP hướng đối tượng hoàn chỉnh
Gary Clarke
4. 6 [173]
>Các khóa học PHP khác
Sử dụng PHP FOREACH để lặp qua các đối tượng
Một đối tượng có thể được coi là một mảng cho các mục đích của hàm PHP FOREACH. Hãy bắt đầu với một lớp đơn giản trong PHP
________số 8_______Chúng tôi sẽ lặp qua lớp này chính xác như chúng tôi đã lặp qua một mảng
foreach[$class as $key => $value] {
print["$key: $value
"];
}
Như bạn có thể thấy, chúng ta có thể lặp qua đối tượng giống như một mảng và chúng ta có thể lặp qua tất cả các biến
Nhưng đây là một cái gì đó để xem xét. Điều gì xảy ra nếu chúng tôi đặt địa chỉ email thành một biến riêng tư?
Lưu ý rằng phép lặp mảng sẽ chỉ xảy ra thông qua các biến chung, không phải biến riêng. Các biến riêng tư có phạm vi hạn chế; .
Các hàm FOREACH trong PHP và các loại biến khác nhau
Trước đây, chúng ta đã thảo luận rằng PHP hơi độc đáo ở chỗ nó không được gõ nghiêm ngặt theo mặc định. Điều đó có nghĩa là bạn có thể có một mảng với nhiều loại biến trong đó. Xét mảng sau
$variables = array['One','2',3,3.0];
Đây là một mảng hợp lệ trong PHP và sẽ không phải là một mảng hợp lệ trong nhiều ngôn ngữ khác. Nó chứa một chuỗi, một số dưới dạng một chuỗi, một số và một dấu phẩy động. Hãy chạy mảng này thông qua vòng lặp FOREACH
$variables = array["One","2",3,3.0];
foreach[$variables as $key => $value] {
print["$key: $value
"];
}
Điều đó chạy tốt. Nhưng điều nguy hiểm khi sử dụng vòng lặp FOREACH là bạn có thể coi “$value” của mình là một loại cụ thể. Đối với hầu hết các hoạt động, điều này sẽ hoạt động tốt [PHP sẽ coi chuỗi 2 là int 2]. Một số hoạt động trong PHP được gõ nghiêm ngặt và sẽ không cho phép điều này
Sinh viên PHP cũng học
Laravel MySQL PHP MVC Phát triển web JavaScript HTML CSS Bootstrap HTML5 Front End Phát triển web Lập trình hướng đối tượng WordPress
CHO so với. Vòng lặp FOREACH trong PHP
Một giải pháp thay thế cho vòng lặp FOREACH trong PHP là vòng lặp FOREACH trong PHP. Vòng lặp FOR là vòng lặp tốt nhất để lặp mã cho đến khi đáp ứng một điều kiện nhất định. Vòng lặp FOREACH là vòng lặp tốt nhất để lặp qua các mảng. Nhưng trên thực tế, có rất nhiều loại vòng lặp và cả hai đều có thể được sử dụng khá hiệu quả
Hãy quay lại ví dụ đầu tiên của chúng tôi
$programming_languages = array['PHP','C','Java','Python'];
foreach[$programming_languages as $current_language] {
print["Learn $current_language now on Udemy!
"];
}
Trong một vòng lặp FOR, nó sẽ được viết như thế này
$programming_languages = array['PHP','C','Java','Python'];
foreach[$programming_languages as $current_language] {
print["Learn $current_language now on Udemy!
"];
}
0Khi chúng tôi chạy đoạn mã trên, chúng tôi thấy rằng nó hoạt động giống hệt nhau
Một số lập trình viên thích sử dụng vòng lặp FOR cho mọi thứ. Không có lý do thực sự nào để không làm vậy, ngoại trừ các vòng lặp FOREACH dễ đọc và dễ sử dụng hơn. Như bạn có thể thấy, trong vòng lặp FOR, chúng ta cần tham khảo $array[$key] thay vì chỉ biến $temporary. Sử dụng $temporary_valuable thường làm cho mã dễ đọc hơn
Sử dụng PHP FOREACH để lặp qua các mảng và đối tượng
Bây giờ bạn đã biết mọi thứ bạn cần biết về cách sử dụng hàm PHP FOREACH và cú pháp để lặp qua các mảng và đối tượng. FOREACH là một chức năng nhỏ gọn, dễ sử dụng và nó có thể hấp dẫn khi được sử dụng đúng cách