Có câu lệnh switch trong PHP không?

Sử dụng câu lệnh chuyển đổi là một giải pháp thay thế tuyệt vời cho việc sử dụng một loạt câu lệnh if và otherif. Chúng tôi giải thích trong hướng dẫn này tại sao bạn có thể muốn chọn cái này hơn cái kia

Có khá nhiều tính năng độc đáo của câu lệnh chuyển đổi mà bạn sẽ cần biết nếu định sử dụng chúng. Ví dụ: các câu lệnh switch thực hiện từng dòng một. Nếu bạn không sử dụng câu lệnh ngắt, một công tắc sẽ thực thi tất cả mã sau khi khớp cho đến khi đến cuối công tắc. Chúng tôi sẽ giải thích điều này hơn nữa trên

Bạn có thể bên trong nhau, nhưng điều đó không được khuyến khích vì nó có thể khiến mã rất khó đọc và khó hiểu

Hướng dẫn này sẽ đề cập đến cách viết câu lệnh chuyển đổi trong PHP và bao gồm một số điều cơ bản mà bạn cần biết. Chúng tôi cũng đề cập đến việc so sánh các câu lệnh switch với câu lệnh if-else

Mục lục

switch Câu lệnh Cú pháp

Cú pháp của câu lệnh switch khá đơn giản, nhưng bạn sẽ cần biết một vài điều về cách thức hoạt động của chúng

Một công tắc chấp nhận một biểu thức sẽ chỉ được đánh giá một lần. Trong hầu hết các trường hợp, biểu thức là một biến mà PHP sẽ so sánh với các câu lệnh tình huống trong cấu trúc chuyển đổi. Khi tìm thấy kết quả phù hợp, khối mã được liên kết với câu lệnh tình huống sẽ được thực thi

Một công tắc có thể có nhiều câu lệnh tình huống trong PHP, nhưng nên giữ chúng ở mức tối thiểu vì nhiều câu lệnh tình huống có thể khiến mã khó đọc

Các câu lệnh ngắt là tùy chọn, nhưng nếu không có chúng, PHP sẽ thực thi tất cả mã sau khi khớp cho đến khi nó gặp câu lệnh ngắt hoặc kết thúc khối chuyển đổi

Bạn có thể chỉ định một câu lệnh mặc định ở cuối một công tắc sẽ chỉ thực thi khi biểu thức không khớp với bất kỳ câu lệnh tình huống nào. Câu lệnh mặc định là tùy chọn và có thể bỏ qua công tắc nếu bạn không yêu cầu

Sau mỗi câu lệnh tình huống, bạn có thể sử dụng dấu chấm phẩy thay vì dấu hai chấm thông thường. Tuy nhiên, chúng tôi khuyên bạn nên sử dụng dấu hai chấm vì nó giúp mã dễ đọc hơn

switch [i] {
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
}

Ngoài ra, bạn có thể viết một câu lệnh chuyển đổi bằng cách sử dụng

switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;
3 và kết thúc nó bằng
switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;
4. Ví dụ dưới đây minh họa cú pháp thay thế cho một công tắc trong PHP

switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;

chuyển đổi so với. nếu khác

Phần này sẽ so sánh sự khác biệt giữa một switch và một loạt các câu lệnh if và elseif

Một câu lệnh chuyển đổi PHP chỉ được đánh giá một lần, trong khi một loạt các câu lệnh if và otherif được đánh giá mỗi khi chúng được chỉ định. Sự khác biệt nhỏ này có thể ảnh hưởng đến hành vi dự kiến ​​của mã của bạn, vì vậy hãy ghi nhớ điều này. Về hiệu suất, có rất ít sự khác biệt về hiệu suất giữa việc sử dụng công tắc và một loạt câu lệnh if

Lợi ích quan trọng nhất của việc sử dụng switch là khả năng đọc. Một công tắc có thể dễ đọc và dễ hiểu hơn nhiều so với một loạt câu lệnh if-else và elseif. Tuy nhiên, khả năng đọc vẫn có thể tùy thuộc vào sở thích cá nhân

Biết khi nào nên sử dụng câu lệnh chuyển đổi qua một loạt câu lệnh if-else và otherif chủ yếu tùy thuộc vào sở thích. Theo thời gian, bạn sẽ học được khi nào nên sử dụng cái này hơn cái kia. Thông thường đối với các điều kiện phức tạp, tôi sử dụng chuỗi if-else. Để so sánh đơn giản, tôi sử dụng một công tắc

Dưới đây là một công tắc và một loạt câu lệnh if-else và elseif. Cả hai sẽ dẫn đến cùng một đầu ra

Cách sử dụng câu lệnh switch trong PHP

Tùy thuộc vào nhà phát triển khi sử dụng câu lệnh chuyển đổi trong mã hóa PHP của họ. Thông thường, bạn nên sử dụng một công tắc khi bạn có nhiều phép so sánh cùng một biểu thức với các giá trị khác nhau. Một công tắc được bố trí hợp lý sẽ dễ hiểu hơn nhiều so với cấu trúc if-else và elseif phức tạp

Dưới đây chúng ta sẽ đi qua một số cách khác nhau để viết một câu lệnh chuyển đổi

Viết một tuyên bố chuyển đổi cơ bản

Trong ví dụ này, chúng ta tạo một câu lệnh switch cơ bản để so sánh một chuỗi với một số câu lệnh case khác nhau trong switch. Tôi sẽ giải thích quy trình của mã bên dưới

Đầu tiên chúng ta tạo một biến tên là

switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;
5 để lưu trữ chuỗi “Apple“. Tiếp theo là công tắc của chúng tôi, nơi chúng tôi chỉ định biến của mình làm biểu thức. Biểu thức sẽ được đánh giá một lần

Bây giờ PHP sẽ so sánh giá trị của biểu thức với từng giá trị trong các câu lệnh tình huống của chúng ta. Chuỗi của chúng tôi khớp với câu lệnh trường hợp thứ ba có chứa chuỗi “Apple”

PHP sẽ thực thi khối mã dưới câu lệnh trường hợp phù hợp của chúng tôi. Khối mã chứa câu lệnh echo và câu lệnh break. Câu lệnh echo sẽ xuất chuỗi và câu lệnh break sẽ buộc thoát khỏi công tắc

Kết quả bên dưới cho thấy biến

switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;
5 của chúng ta khớp với câu lệnh tình huống “Apple”

________số 8_______

Tuyên bố mặc định

Trong ví dụ dưới đây, chúng tôi có một công tắc sử dụng số nguyên thay vì chuỗi. Biến [_______1_______7] mà chúng ta sẽ sử dụng trong biểu thức có giá trị là

switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;
8 và sẽ không khớp với bất kỳ câu lệnh tình huống nào của chúng ta trong công tắc. Kết quả là, khối mã mặc định sẽ chạy

Vì biến

switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;
7 của chúng ta không khớp với bất kỳ câu lệnh tình huống nào nên khối mã mặc định sẽ chạy và bạn sẽ nhận được kết quả bên dưới. Nếu bạn không có câu lệnh mặc định, sẽ không có gì được xuất ra

I do not have a matching number.

Kết hợp báo cáo trường hợp

Nếu bạn có cùng một kết quả cho nhiều câu lệnh tình huống, bạn có thể kết hợp chúng lại và giảm việc lặp lại mã. Trong ví dụ dưới đây, chúng tôi có cùng một đầu ra cho ba trường hợp khác nhau, chanh, đường kẻ và cam

Đoạn mã trên của chúng tôi dẫn đến đầu ra sau vì biến của chúng tôi khớp với một trong ba câu lệnh tình huống đầu tiên chia sẻ cùng một khối mã. Chúng tôi có một tiếng vang bên trong khối mã in ra văn bản sau

I like citrus.

Sử dụng câu lệnh break

Bạn có thể sử dụng câu lệnh break để kiểm soát cách câu lệnh switch xử lý các kết quả khớp. Ví dụ: nếu ngắt không tồn tại, công tắc sẽ thực thi mọi khối mã từ khớp đầu tiên đến kết thúc

Trong ví dụ sau, chuỗi của chúng ta sẽ khớp với câu lệnh case đầu tiên. Tuy nhiên, không có câu lệnh ngắt nào cho đến khi câu lệnh trường hợp của chúng tôi kiểm tra “Orange“. Vì không có câu lệnh ngắt, PHP sẽ thực thi ba câu lệnh echo đầu tiên

Đầu ra bên dưới minh họa cách công tắc xử lý các khối mã câu lệnh tình huống không có câu lệnh ngắt. Điều rất quan trọng là phải ghi nhớ điều này khi viết các câu lệnh chuyển đổi của bạn trong PHP

switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;
0

Câu lệnh chuyển đổi lồng nhau

Chủ đề cuối cùng tôi muốn đề cập đến là lồng các câu lệnh chuyển đổi. Bạn có thể lồng các câu lệnh chuyển đổi, nhưng điều này không được khuyến khích vì nó có thể trở nên lộn xộn và khó đọc nhanh

Dưới đây là một ví dụ về hai câu lệnh chuyển đổi lồng nhau trong PHP

switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;
1

Đoạn mã trên có một biến [

switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;
5] khớp với câu lệnh case đầu tiên [“Lemon“] trong switch bên ngoài của chúng ta. Nó cũng có một biến thứ hai [_______4_______1] khớp với câu lệnh case cuối cùng [“Cà rốt“] trong công tắc lồng nhau đầu tiên của chúng ta. Kết quả đầu ra là dưới đây

switch [i] :
    case match1:
        //code to be executed if match;
        break;
    case match2:
        //code to be executed if match;
        break;
    case match3:
        //code to be executed if match;
        break;
        ...
    default:
        code to be executed if i does not match with any case;
endswitch;
2

Phần kết luận

Tôi hy vọng hướng dẫn này đã chỉ cho bạn tất cả những điều cơ bản về cách sử dụng câu lệnh chuyển đổi trong PHP. Đó là một cách cực kỳ hữu ích để kiểm soát việc thực thi mã và giúp làm cho mã có thể đọc được đối với các nhà phát triển khác

Nếu bạn muốn tìm hiểu thêm về lập trình bằng PHP, tôi khuyên bạn nên xem loạt hướng dẫn PHP ngày càng phát triển của chúng tôi. Chúng tôi đề cập đến các chủ đề như vòng lặp for, vòng lặp while, if-else, v.v. Các hướng dẫn hoàn hảo cho cả người mới bắt đầu và nhà phát triển nâng cao

Nếu bạn nhận thấy chúng tôi có thể cải thiện hướng dẫn này, vui lòng cho chúng tôi biết bằng cách để lại nhận xét bên dưới

Làm cách nào để tạo câu lệnh chuyển đổi trong PHP?

chuyển đổi ¶ .
Ví dụ #1 cấu trúc công tắc. // Câu lệnh switch này. công tắc [$i] { trường hợp 0. echo "i bằng 0"; . .
mục tiêu $ = 1; . in "A"; . .
$offset = 1; . in "A";

Điều nào sau đây là việc sử dụng chức năng chuyển đổi trong PHP?

Khái niệm cơ bản về PHP . Đây là một thay thế cho if. khác. tuyên bố khác

Mặc định trong switch là gì

Câu lệnh điều khiển cho phép chúng ta đưa ra quyết định từ số lượng lựa chọn được gọi là switch-case-default. Nó gần giống như một loạt các câu lệnh if trên cùng một biểu thức. Biểu thức theo sau từ khóa switch có thể là một biến hoặc bất kỳ biểu thức nào khác như số nguyên, chuỗi hoặc ký tự.

Chúng ta có thể sử dụng toán tử trong switch không

Sử dụng toán tử “hoặc” trong trường hợp chuyển đổi . Họ làm việc theo cách sau. đầu tiên, họ chuyển đổi toán hạng của mình thành boolean, sau đó thực hiện phép so sánh tương ứng. Các toán tử logic là && ,. , xor ,. , VÀ , hoặc. PHP supports standard logical operators. They work in the following way: first, they convert their operands to boolean, then implement a respective comparison. The logical operators are && , || , xor , ! , AND , or .

Chủ Đề