Làm cách nào để sử dụng phạm vi trong vòng lặp PHP?

Một vòng lặp foreach trong PHP là hoàn hảo để lặp qua các phần tử của một mảng được lập chỉ mục hoặc một mảng kết hợp. Vòng lặp sẽ bắt đầu từ phần tử đầu tiên của mảng và chạy qua tất cả các phần tử theo thứ tự cho đến khi kết thúc. Bạn cũng có thể lặp qua các đối tượng

Có một vài lý do khiến bạn có thể chọn vòng lặp foreach thay vì vòng lặp for thông thường. Ví dụ: vòng lặp foreach có thể dễ đọc và dễ hiểu hơn một chút khi xử lý mảng. Bạn cũng có thể tránh sử dụng hàm

foreach ($array as $key => $value) {
    //code to execute
}
7. Nhưng, tất nhiên, có nhiều lý do khác khiến bạn có thể muốn chọn cái này hơn cái kia

Bạn có thể sẽ cần sử dụng các vòng lặp foreach lồng nhau khi. Tuy nhiên, hầu hết thời gian bạn sẽ viết một vòng lặp deep foreach duy nhất

Hướng dẫn này sẽ đưa bạn qua một loạt các chủ đề về cách sử dụng vòng lặp foreach trong PHP. Chúng tôi đề cập đến các chủ đề như mảng, mảng kết hợp, mảng nhiều chiều, chỉnh sửa phần tử, sử dụng câu lệnh ngắt và sử dụng câu lệnh tiếp tục

Mục lục

cú pháp vòng lặp foreach

Có hai cách khác nhau để bạn có thể viết một vòng lặp foreach trong PHP

Ví dụ đầu tiên của chúng tôi lặp lại thông qua một mảng gán giá trị của phần tử hiện tại cho biến

foreach ($array as $key => $value) {
    //code to execute
}
8. Bạn có thể sử dụng biến
foreach ($array as $key => $value) {
    //code to execute
}
8 ở bất kỳ đâu trong khối mã foreach

foreach ($array as $value) {
    //code to execute
}

Ví dụ thứ hai của chúng tôi dành cho các mảng kết hợp, sẽ chứa một loạt các khóa. Trên mỗi lần lặp, khóa hiện tại sẽ được lưu trữ trong biến

foreach ($array as $value) :
    //code to execute
endforeach;
0 và giá trị phần tử trong biến
foreach ($array as $key => $value) {
    //code to execute
}
8

foreach ($array as $key => $value) {
    //code to execute
}

Bạn có thể viết vòng lặp foreach bằng cú pháp thay thế. Ví dụ bên dưới hiển thị cú pháp thay thế cho ví dụ đầu tiên của chúng tôi, nhưng bạn có thể sử dụng nó trên cả hai loại vòng lặp foreach

foreach ($array as $value) :
    //code to execute
endforeach;

Nếu bạn cần dùng while trong vòng lặp, bạn có thể đặt trước biến

foreach ($array as $key => $value) {
    //code to execute
}
8 bằng
foreach ($array as $value) :
    //code to execute
endforeach;
3. Sử dụng
foreach ($array as $value) :
    //code to execute
endforeach;
3 sẽ đảm bảo rằng biến được gán tham chiếu đến giá trị chứ không chỉ đơn giản là bản sao của giá trị

Cách sử dụng Vòng lặp foreach trong PHP

Vòng lặp foreach là cách hoàn hảo để lặp qua dữ liệu được lưu trữ trong một mảng. Không giống như vòng lặp for thông thường, bạn không cần biết độ dài của mảng vì vòng lặp foreach sẽ tiếp tục cho đến khi đến phần tử cuối cùng. Bạn có thể sử dụng break hoặc continue nếu cần thoát khỏi vòng lặp sớm hoặc bỏ qua một lần lặp

Dưới đây chúng ta sẽ đi qua tất cả các tính năng chính của việc xử lý vòng lặp foreach, bao gồm viết câu lệnh foreach cho cả mảng thông thường và mảng kết hợp

Vòng lặp foreach cho một mảng được lập chỉ mục

Trong ví dụ này, chúng tôi tạo một vòng lặp PHP foreach đơn giản sẽ lặp qua một mảng chứa một loạt các chuỗi

Trên mỗi lần lặp, giá trị của phần tử hiện tại được sao chép vào biến

foreach ($array as $key => $value) {
    //code to execute
}
8. Bên trong khối mã vòng lặp, bạn có thể sử dụng giá trị mà bạn thấy phù hợp bằng cách tham khảo biến
foreach ($array as $key => $value) {
    //code to execute
}
8

Mã bên dưới chỉ cần lặp qua mảng của chúng tôi và xuất từng giá trị bằng echo

";
}

?>

Dưới đây là đầu ra từ đoạn mã trên. Như bạn có thể thấy, mỗi phần tử mảng đã được in theo thứ tự

apple
banana
pear
mango

Vòng lặp foreach cho một mảng kết hợp

Nếu bạn đang sử dụng một mảng kết hợp, phương pháp trên sẽ vẫn hoạt động; . Để có sẵn giá trị khóa, bạn phải chỉ định nó trong câu lệnh foreach

Ví dụ dưới đây sẽ có giá trị key có sẵn trong biến

foreach ($array as $value) :
    //code to execute
endforeach;
0 và giá trị phần tử có sẵn trong biến
foreach ($array as $key => $value) {
    //code to execute
}
8. Mỗi lần lặp sẽ tiến tới phần tử tiếp theo cho đến khi nó kết thúc mảng

 "red" , 
    "banana" => "yellow", 
    "pear" => "green", 
    "mango" => "orange"
];

foreach ($fruits as $key => $value) {
    echo $key . " " . $value . "
"; } ?>

Trong kết quả bên dưới, bạn có thể thấy giá trị khóa theo sau là giá trị phần tử cho từng phần tử trong mảng

red apple
yellow banana
green pear
orange mango

Vòng lặp foreach cho Mảng đa chiều

Nếu bạn có một mảng nhiều chiều, bạn sẽ cần lồng một vòng lặp foreach bên trong một vòng lặp foreach khác để truy cập các phần tử của các mảng bên trong. Vòng lặp bên ngoài sẽ lặp qua từng mảng, trong khi vòng lặp bên trong sẽ lặp qua từng phần tử của mảng

Bạn có thể sử dụng foreach trên các mảng đa chiều rất sâu, nhưng hãy nhớ rằng hiệu suất và khả năng đọc sẽ bắt đầu bị ảnh hưởng. Các loại phổ biến nhất là mảng hai chiều và mảng ba chiều. Bất cứ thứ gì sâu hơn ba không phổ biến lắm vì chúng trở nên khó quản lý

Trong ví dụ của chúng tôi bên dưới, vòng lặp bên ngoài của chúng tôi sẽ duyệt qua từng mảng được lưu trữ trong mảng

foreach ($array as $value) :
    //code to execute
endforeach;
9 của chúng tôi. Vòng lặp bên trong sẽ duyệt qua từng phần tử của mảng hiện tại

";
    }
}

?>

Kết quả hiển thị cách hoạt động của vòng lặp foreach lồng nhau trong ví dụ mã ở trên. Mỗi phần tử được in trước khi nó chuyển sang mảng tiếp theo.

foreach ($array as $key => $value) {
    //code to execute
}
8 là mảng hiện tại và
";
}

?>
1 là phần tử hiện tại bên trong mảng
foreach ($array as $key => $value) {
    //code to execute
}
8 của chúng ta

apple
red
banana
yellow
pear
green
mango
orange

Chỉnh sửa giá trị trong Vòng lặp foreach

Nếu bạn thử chỉnh sửa các giá trị bằng cách sử dụng vòng lặp foreach PHP, bạn sẽ cần thêm

foreach ($array as $value) :
    //code to execute
endforeach;
3 vào đầu biến
foreach ($array as $key => $value) {
    //code to execute
}
8. Sử dụng
foreach ($array as $value) :
    //code to execute
endforeach;
3 trước biến
foreach ($array as $key => $value) {
    //code to execute
}
8 sẽ yêu cầu PHP gán cho
foreach ($array as $key => $value) {
    //code to execute
}
8 một tham chiếu đến giá trị ban đầu và không sử dụng bản sao của giá trị biến

Chúng tôi chuyển vào tham chiếu thay vì giá trị trong ví dụ bên dưới. Sử dụng tham chiếu sẽ cho phép chúng ta chỉnh sửa các phần tử mảng bên trong vòng lặp foreach

Chúng tôi cũng

";
}

?>
8 cái
foreach ($array as $key => $value) {
    //code to execute
}
8 sau khi thoát khỏi vòng lặp. Nếu bạn không bỏ đặt biến
foreach ($array as $key => $value) {
    //code to execute
}
8, nó sẽ vẫn chứa tham chiếu đến mục cuối cùng của chúng ta. Nếu bạn sử dụng lại
foreach ($array as $key => $value) {
    //code to execute
}
8 mà không sử dụng unset trước, bạn có thể gặp phải hành vi không mong muốn

";
print_r($num);

foreach ($num as &$value) {
    $value += 1;
}
unset($value);

echo "
"; print_r($num); ?>

Trong kết quả bên dưới, bạn có thể thấy rằng các giá trị của mảng đã bị thay đổi

foreach ($array as $key => $value) {
    //code to execute
}
0

Trong ví dụ của chúng tôi bên dưới, chúng tôi không sử dụng tham chiếu và chỉ sử dụng bản sao của giá trị phần tử của mảng. PHP sẽ không giữ bất kỳ thay đổi nào nếu bạn sử dụng giá trị của phần tử

foreach ($array as $key => $value) {
    //code to execute
}
1

Như bạn có thể thấy ở đầu ra, không có thay đổi nào của chúng tôi đối với mảng được thực hiện và mảng xuất hiện nguyên vẹn bên ngoài vòng lặp foreach

foreach ($array as $key => $value) {
    //code to execute
}
2

Thoát khỏi vòng lặp foreach

Giống như hầu hết các vòng lặp PHP khác, bạn có thể sử dụng câu lệnh ngắt để kết thúc vòng lặp sớm. Bạn có thể muốn kết thúc vòng lặp vì nhiều lý do. Ví dụ: bạn đã tìm thấy dữ liệu mình đang tìm kiếm và thực hiện các thay đổi cần thiết

Trong ví dụ của chúng tôi bên dưới, chúng tôi thoát khỏi vòng lặp foreach khi giá trị của chúng tôi bằng “banana”

foreach ($array as $key => $value) {
    //code to execute
}
3

Vì chuối là phần tử thứ hai của chúng ta trong mảng nên chúng ta chỉ xuất giá trị của phần tử đầu tiên trong mảng

foreach ($array as $key => $value) {
    //code to execute
}
4

Sử dụng tiếp tục trong vòng lặp foreach

Nếu bạn cần bỏ qua hoặc kết thúc sớm vòng lặp foreach, bạn có thể sử dụng câu lệnh continue. Có rất nhiều lý do tại sao bạn có thể muốn sử dụng tiếp tục. Ví dụ: bỏ qua một bước lặp có thể hữu ích nếu bạn không cần xử lý dữ liệu trong phần tử cụ thể đó

Trong mã của chúng tôi dưới đây, chúng tôi kết thúc sớm lần lặp hiện tại khi giá trị bằng “chuối”

foreach ($array as $key => $value) {
    //code to execute
}
5

Như bạn có thể thấy trong kết quả của chúng tôi bên dưới, chúng tôi đã bỏ qua việc xuất giá trị khi nó bằng “chuối”. Sau “chuối”, ta tiếp tục xuất các giá trị còn lại

foreach ($array as $key => $value) {
    //code to execute
}
6

Phần kết luận

Đến cuối hướng dẫn này, tôi hy vọng bạn đã hiểu rõ về cách sử dụng vòng lặp foreach trong PHP. Đây là một vòng lặp tiêu chuẩn rất phù hợp để xử lý dữ liệu trong mảng, vì vậy điều quan trọng là bạn phải hiểu cách thức hoạt động của chúng

Tôi khuyên bạn nên xem xét các vòng lặp khác nếu bạn chưa quen với lập trình. Mỗi vòng lặp có trường hợp sử dụng riêng, vì vậy tôi khuyên bạn nên tìm hiểu về vòng lặp while, vòng lặp for và vòng lặp do-while. Hiểu và sử dụng chúng một cách chính xác có thể giúp cải thiện khả năng đọc và hiệu suất của mã của bạn

Làm cách nào để lấy giá trị phạm vi trong PHP?

Hàm PHP range() .
Tạo một mảng chứa một loạt các phần tử từ "0" đến "5". $số = phạm vi (0,5); .
Trả về một mảng các phần tử từ "0" đến "50" và tăng thêm 10. số $ = phạm vi (0,50,10);.
Sử dụng các chữ cái - trả về một mảng các phần tử từ "a" đến "d" $letter = range("a","d");

Mục đích của phạm vi () trong PHP là gì?

Hàm range() là một hàm có sẵn trong PHP, được sử dụng để tạo một mảng các phần tử thuộc bất kỳ loại nào như số nguyên, bảng chữ cái trong một phạm vi nhất định (từ thấp đến cao) i. e, phần tử đầu tiên của danh sách được coi là thấp và phần tử cuối cùng được coi là cao

Làm cách nào tôi có thể in từ 1 đến 10 số trong PHP?

Chúng ta có thể in các số từ 1 đến 10 bằng cách sử dụng vòng lặp for . Bạn có thể dễ dàng mở rộng chương trình này để in bất kỳ số nào bắt đầu từ bất kỳ giá trị nào và kết thúc bằng bất kỳ giá trị nào. Lệnh echo sẽ in giá trị của $i ra màn hình. Trong dòng tiếp theo, chúng tôi đã sử dụng cùng một lệnh echo để in một ngắt dòng html.

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

php // vòng lặp for for ($i = 0; $i < 10; $i++) { $myArray[$i] = "Đây là phần tử ". $i. " trong mảng"; . $x. " trong mảng"; //while loop $x = 0; while ($x < 10) { $someArray[$x] = "This is element ". $x." in the array"; echo $someArray[$x]; $x++; } ?>