Computer >> Máy Tính >  >> Lập trình >> PHP

Tuyên bố chuyển đổi PHP

Giới thiệu

Nếu một chương trình cần một chuỗi các câu lệnh if thực hiện các quy trình khác nhau để thay đổi giá trị của một biểu thức, thì nó có thể rất vụng về với mỗi câu lệnh if có bộ dấu ngoặc nhọn riêng. Đây là nơi sử dụng swtich-case cấu trúc có thể làm cho chương trình nhỏ gọn và dễ đọc. Với cấu trúc switch, có thể so sánh cùng một biến (hoặc biểu thức) với nhiều giá trị khác nhau và thực thi một đoạn mã khác nhau tùy thuộc vào giá trị của nó.

Cú pháp

switch (expr) {
   case val1:
      code to be executed if expr=val1;
   break;
   case val2:
      code to be executed if expr=val2;
   break;
   ...
   ...
   default:
   code to be executed if expr is not equal to any of above values;
}

Điều quan trọng là đưa ra break câu lệnh sau mỗi khối trường hợp để làm vô hiệu dòng chương trình nằm trong phần còn lại của các trường hợp.

Trong ví dụ sau, người dùng được yêu cầu nhập hai số và một số cho loại phép toán số học 1/2/3/4 cho phép cộng / trừ / nhân / chia

Ví dụ

<?php
$first=(int)readline("enter a number");
$second=(int)readline("enter another number");
$x=readline("enter 1/2/3/4 for add/subtract/multiply/divide");
$result=0;
switch($x){
   case 1: echo $first+$second; break;
   case 2: echo $first-$second; break;
   case 3: echo $first*$second; break;
   case 4: echo $first/$second; break;
   default: echo "Incorrect input";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Incorrect input

Mặc định từ khóa được sử dụng để chỉ định khối câu lệnh sẽ được thực thi nếu biểu thức switch không khớp với các trường hợp cụ thể

Nếu một khối trường hợp cụ thể trống, nó chỉ cần chuyển luồng sang trường hợp tiếp theo.

Ví dụ

<?php
$x=(int)readline("enter a number");
switch($x){
   case 1:
   case 2: echo "x is less than 3"; break;
   case 3: echo "x is equal to 3"; break;
   case 4: echo "x is greater than 3";break;
   default: echo "x is beyound 1 to 4";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

x is beyound 1 to 4

Có thể sử dụng string giá trị được so sánh với biểu thức chuyển đổi

Ví dụ

<?php
$x=readline("enter a something..");
switch($x){
   case "India": echo "you entered India"; break;
   case "USA": echo "You typed USA"; break;
   case "Mumbai": echo "you entered Mumbai";break;
   default: echo "you entered something else";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

you entered something else