Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Câu lệnh goto trong PHP

Giới thiệu

Câu lệnh goto dùng để chuyển luồng chương trình đến một vị trí xác định trong code. Vị trí này được chỉ định bởi một label do người dùng định nghĩa. Thường goto xuất hiện như một phần của biểu thức điều kiện như if, else hoặc case (trong switch).

Cú pháp

statement1;
statement2;
if (expression)
    goto label1;
statement3;
label1:
statement4;

Sau statement2, nếu biểu thức (trong if) là true, luồng chương trình nhảy đến label1. Nếu false, statement3 thực thi. Chương trình tiếp tục bình thường sau đó.

Ví dụ

Nhảy đến label nếu số chẵn

<?php
$x = (int)readline("enter a number: ");
if ($x % 2 == 0)
    goto abc;
echo "x is an odd number";
return;
abc:
echo "x is an even number";
?>

Kết quả (nhập số chẵn)

x is an even number

Tạo vòng lặp với goto

Label trong goto có thể xuất hiện trước hoặc sau câu lệnh hiện tại. Nếu label xác định câu lệnh trước đó, nó tạo thành một vòng lặp.

<?php
$x = 0;
start:
$x++;
echo "x=$x\n";
if ($x < 5)
    goto start;
?>

Kết quả

x=1
x=2
x=3
x=4
x=5

Cấm nhảy vào giữa vòng lặp

Dùng goto có thể nhảy đến bất kỳ vị trí đặt tên nào. Tuy nhiên, nhảy vào giữa vòng lặp là không được phép.

<?php
for ($x = 1; $x <= 5; $x++) {
    if ($x == 3)
        goto inloop;
    for ($y = 1; $y <= 5; $y++) {
        inloop:
        echo "x=$x y=$y\n";
    }
}
?>

Kết quả

PHP Fatal error: 'goto' into loop or switch statement is disallowed in line 5