Các cấu trúc trong PHP

Bạn đã bao giờ dừng lại để chỉ đường cho một người lái xe bị lạc từ hai tiểu bang chưa?

“Xin chào, bạn có thể cho tôi biết cách đi đến tuyến đường 50 không?”
“Được thôi, chỉ cần đi theo con đường này, rẽ trái vào đường cao tốc, tiếp tục lái xe và cuối cùng bạn' . ”

Các hướng trên là tuyến tính và tuần tự. lái xe trên đường này, rẽ ở đây, rồi lái xe cho đến khi bạn thấy lối ra

Rõ ràng, chúng là những hướng khủng khiếp

Họ không cho tài xế biết phải lái xe bao lâu trước khi đến đường cao tốc hoặc họ có thể muốn đi một tuyến đường khác để tránh tắc đường nếu họ cố rời đi trong giờ cao điểm

Nếu bạn muốn đưa ra chỉ dẫn chính xác và hữu ích hơn, bạn có thể nói điều gì đó như

“Chắc chắn, chỉ cần đi theo con đường này trong hai dặm. Nếu không phải giờ cao điểm, bạn có thể rẽ trái ở đèn giao thông vào đường cao tốc và đi thêm một dặm nữa cho đến khi bạn thấy lối ra của tuyến đường 50. Nếu bạn đến gần giờ cao điểm, bạn sẽ muốn tránh đường cao tốc và chỉ cần đi theo con đường thêm 5 dặm nữa để đến tuyến đường 50. ”

Nếu không có Cấu trúc điều khiển, PHP sẽ giống như bộ hướng dẫn đầu tiên. tuyến tính, tuần tự và không quá hữu ích

Cấu trúc điều khiển là cốt lõi của logic lập trình. Chúng cho phép một tập lệnh phản ứng khác nhau tùy thuộc vào những gì đã xảy ra hoặc dựa trên đầu vào của người dùng và cho phép xử lý các tác vụ lặp đi lặp lại một cách duyên dáng

Trong PHP, có hai loại Cấu trúc điều khiển chính. Câu lệnh có điều kiện và vòng lặp điều khiển. Trong bài viết trước, bạn đã thấy một số ví dụ ngắn gọn về Cấu trúc điều khiển. Lần này, chúng ta sẽ xem xét kỹ hơn về chúng

Câu lệnh có điều kiện
Câu lệnh có điều kiện cho phép bạn phân nhánh đường dẫn thực thi trong tập lệnh dựa trên việc một hay nhiều điều kiện đánh giá là đúng hay sai. Nói một cách đơn giản, chúng cho phép bạn kiểm tra mọi thứ và thực hiện các hành động khác nhau dựa trên kết quả.

câu lệnh if

Hãy nhìn vào những điều sau đây

$x=1;
$x=1;

if ($x == 1) print ‘$x bằng 1’;
?>

Ví dụ này minh họa loại câu lệnh If đơn giản nhất. Nếu Các câu lệnh luôn bắt đầu bằng “nếu”, theo sau là một điều kiện được đặt trong ngoặc đơn. Nếu điều kiện được đánh giá là đúng, thì câu lệnh hoặc các câu lệnh ngay sau điều kiện sẽ được thực thi. Trong trường hợp này, nếu điều kiện là sai, sẽ không có gì xảy ra và bạn sẽ thấy một cửa sổ trình duyệt trống khi tập lệnh được chạy

Khi bạn có nhiều hơn một câu lệnh được thực thi trong một cấu trúc điều khiển, thì cần phải bao quanh chúng bằng dấu ngoặc

$x=1;
$x=1;

if ($x == 1) {
   print '$x bằng 1';
   $x++;
   print ‘now $x is equal to 2’;
}
?>



Hãy nhớ rằng vị trí của các phần tử không ảnh hưởng đến việc thực thi tập lệnh. Tất cả các cách sắp xếp ví dụ dưới đây hoàn toàn hợp lệ không chỉ cho Câu lệnh If mà còn cho mọi dạng vòng điều khiển

if ($x == 1) in ‘$x bằng 1’;

if ($x == 1)
   print ‘$x is equal to 1’;

if ($x == 1) { in ‘$x bằng 1’;

if ($x == 1) {
   print ‘$x bằng 1’;
}


Vì lợi ích rõ ràng, nhiều lập trình viên chọn sử dụng thụt lề và dấu ngoặc ngay cả trên các khối mã một dòng;

Bạn cũng có thể bao gồm nhiều điều kiện trong ngoặc đơn. Để các câu lệnh lồng nhau thực thi, tất cả các điều kiện phải được đánh giá là đúng

$x=1;
$x=1;

if ($x == 1 OR $x == 2) print ‘$x bằng 1 (hoặc có thể là 2)’;
?>


Tuyên bố khác

Như tên ngụ ý, Câu lệnh Khác cho phép bạn làm điều gì đó khác nếu điều kiện trong Câu lệnh If được đánh giá là sai

$x=1;
$x=1;

if ($x == 2) {
in '$x bằng 2';
} other {
   print ‘$x is equal to 1’;
}
?>


Câu lệnh Else If

Cho đến nay, chúng tôi đã có thể đáp ứng một điều kiện và làm điều gì đó nếu điều kiện đó không đúng. Nhưng còn việc đánh giá nhiều điều kiện thì sao? . Đây là nơi Else If Statements xuất hiện

Một sự kết hợp của các câu lệnh If và Else, Else If Statements được đánh giá tuần tự nếu điều kiện trong Câu lệnh If là sai. Khi một điều kiện trong Câu lệnh Nếu khác ước tính là đúng, các câu lệnh lồng nhau được phân tích cú pháp, tập lệnh ngừng thực thi toàn bộ Cấu trúc Nếu/Khác nếu/Khác. Phần còn lại của kịch bản tiếp tục được phân tích cú pháp

Hãy xem ví dụ sau

$x=1;
$x=1;

if ($x == 2) {
in '$x bằng 2';
} else if ($x ==
print ‘$x is equal to 1’;
} else {
   print ‘$x does not equal 2 or 1’;
}
?>


Câu lệnh khác cuối cùng có thể được bỏ qua nếu bạn không muốn bất cứ điều gì xảy ra nếu không câu lệnh If hoặc Else If nào là đúng

$x=0;
$x=0;

if ($x == 2) {
in '$x bằng 2';
} else if ($x ==
print ‘$x is equal to 1’;
}
?>


Trong trường hợp này, vì cả điều kiện trong Điều kiện If hoặc Else if đều đúng và không có Tuyên bố Khác nào được cung cấp, nên sẽ không có thông tin nào được xuất ra trình duyệt

công tắc

Công tắc là một giải pháp thay thế tốt cho Câu lệnh If/Else if/Else trong trường hợp bạn muốn kiểm tra nhiều giá trị đối với một biến hoặc điều kiện đơn lẻ. Đây là cú pháp cơ bản

$var = "yes";
$var = "yes";

switch ($var) {
   case "yes".
     print ‘$var is equal to yes’;
break;

   trường hợp "không".
     print '$var bằng không';
     break;
}
?

Sau khi chạy đoạn mã này, phần lớn những gì ở đây có thể sẽ có ý nghĩa với bạn. Trong dòng đầu tiên của câu lệnh switch, chúng ta có định danh “switch” theo sau là một biến được bao quanh bởi dấu ngoặc đơn. Mỗi trường hợp bao gồm một giá trị có thể có cho biến

Các công tắc thực hiện hơi khác một chút so với các câu lệnh If/Else if/Else. Khi một giá trị trường hợp khớp với giá trị của biểu thức chuyển đổi, mọi câu lệnh sau đây sẽ được thực thi, bao gồm cả những câu lệnh sau các trường hợp khác

Để ngăn điều này xảy ra, câu lệnh break được sử dụng. "Nghỉ;"

Theo tùy chọn, bạn cũng có thể bao gồm một trường hợp đặc biệt gọi là "mặc định". Trường hợp này hoạt động giống như Câu lệnh Else và sẽ thực thi nếu tất cả các trường hợp khác được phát hiện là sai. Trường hợp này phải là trường hợp cuối cùng bạn đưa vào

$var = "yes";
$var = "yes";

switch ($var) {
   case "maybe".
     print ‘$var is equal to yes’;
break;

   trường hợp "không".
     print ‘$var bằng không’;
     break;
 
   mặc định.
     in 'không có trường hợp nào trong hai trường hợp kia là đúng, vì vậy câu này sẽ được in ra thay thế. ’;
}
?>


Tương tự như Câu lệnh Break là Câu lệnh Thoát. Thoát đặc biệt hữu ích trong các trường hợp bạn gặp phải lỗi được coi là "lỗi nghiêm trọng" (ví dụ: nếu người dùng đã nhập mật khẩu không chính xác) hoặc bất kỳ lúc nào bạn cần kết thúc quá trình thực thi tập lệnh trước khi nó diễn ra tự nhiên

$var = "yes";
$var = "yes";

switch ($var) {
   case "yes".
     in ‘$var bằng có’;
     thoát;
   trường hợp "không".
     print ‘$var bằng không’;
     break;
}

print "cái này sẽ không được in, vì tập lệnh sẽ kết thúc trước khi đến dòng này";
?>


Không giống như ngắt, thoát có thể được sử dụng ở bất kỳ đâu trong tập lệnh của bạn, bên trong hoặc bên ngoài cấu trúc điều khiển

Toán tử ternary

Mặc dù về mặt kỹ thuật là Toán tử, không phải là Cấu trúc điều khiển, Toán tử bậc ba, được biểu thị bằng “?”, có thể được sử dụng làm cách viết tắt cho các Câu lệnh If/Else đơn giản. Nó chỉ có thể được sử dụng trong các tình huống mà bạn muốn thực thi một biểu thức dựa trên việc một điều kiện là đúng hay sai

$x = 1;($x==1) ? . (in ra ‘$x không bằng 1’);?>
$x = 1;
($x==1) ? (print ‘$x is equal to 1’) : (print ‘$x is not equal to 1’);
?>

Điều kiện được chứa trong tập hợp dấu ngoặc đơn đầu tiên. Nếu nó đánh giá là true, thì biểu thức trong cặp dấu ngoặc đơn thứ hai sẽ được thực hiện. Nếu không, biểu thức trong bộ thứ ba sẽ được thực hiện

(điều kiện, tình trạng, trạng thái) ? . (thực hiện nếu điều kiện sai);


Bạn sẽ thấy điều này có thể đặc biệt hữu ích như thế nào sau này


Vòng lặp điều khiển
Trong PHP, thường có những trường hợp bạn cần thực hiện các tác vụ lặp đi lặp lại, chẳng hạn như định dạng dữ liệu được lấy từ cơ sở dữ liệu, gửi email đến danh sách gửi thư hoặc duyệt qua . Vòng điều khiển cho phép bạn thực hiện các tác vụ này gần như dễ dàng.

Vòng lặp While

While Loops là dạng vòng lặp đơn giản nhất

$x=1;
$x=1;

while ($x <=10) {   print "$x
";
   $x++;   print "$x
";
   $x++;
}
?>


Khi bạn chạy đoạn mã này, bạn sẽ thấy các số từ 1 đến 10 được in trên màn hình của mình. Hãy nhìn vào mã. Theo nhiều cách, nó rất giống với Câu lệnh If. Đầu tiên là mã định danh while, theo sau là một điều kiện được bao quanh bởi dấu ngoặc đơn

Các câu lệnh được lồng trong vòng lặp sẽ thực thi miễn là điều kiện trong dấu ngoặc đơn được đánh giá là đúng. Vì tính hợp lệ của điều kiện được kiểm tra trước khi vòng lặp được thực hiện, nếu điều kiện sai, thì các câu lệnh trong vòng lặp sẽ không được thực hiện.

Vòng lặp Do…While

Do…While Loops là anh em họ gần của While Loops

$x=11;
$x=11;

do {
print "$x
$x++;
} while ($

?>


Sự khác biệt chính trong cách thức hoạt động của những điều này là tính hợp lệ của điều kiện trong Vòng lặp Do…While được kiểm tra sau khi vòng lặp lặp lại một lần. Điều này có nghĩa là trong ví dụ trên, $x sẽ được in ra một lần và sau đó quá trình thực thi vòng lặp sẽ kết thúc, vì $x lớn hơn 10

Đối với vòng lặp

for($x=1; $x<=10; $x++) {print "$x

for($x=1; $x<=10; $x++) {
print "$x
";
}
?>


Trên đây là một ví dụ về Vòng lặp For. Vòng lặp For rất giống với Vòng lặp While, nhưng sử dụng thuận tiện hơn trong nhiều trường hợp. Chúng cũng là những vòng lặp phức tạp nhất trong PHP, vay mượn cú pháp và chức năng rất nhiều từ ngôn ngữ Lập trình C. Đây là cấu trúc điều khiển cuối cùng mà chúng tôi sẽ đề cập trong bài viết này

Nếu bạn đoán rằng đoạn mã trên sẽ cho ra kết quả giống như ví dụ đầu tiên về vòng lặp while, thì bạn đã đúng. Hãy xem xét kỹ hơn tại sao nó hoạt động như vậy. Trong dấu ngoặc đơn, Vòng lặp For có ba biểu thức được phân tách bằng dấu chấm phẩy. Biểu thức đầu tiên chỉ được thực hiện một lần, khi vòng lặp khởi tạo. Trong trường hợp này, $x được tạo và cho giá trị bằng 0

Biểu thức tiếp theo là một điều kiện được kiểm tra mỗi khi vòng lặp lặp lại. Khi điều kiện sai, vòng lặp sẽ ngừng thực hiện. Cũng giống như vòng lặp while, nếu điều kiện được tìm thấy là sai trong lần chạy đầu tiên, thì không có câu lệnh nào trong vòng lặp sẽ thực hiện dù chỉ một lần

Biểu thức cuối cùng sẽ được thực thi mỗi khi vòng lặp lặp lại sau khi các câu lệnh lồng nhau đã được phân tích cú pháp. Hãy nhớ rằng không có dấu chấm phẩy sau biểu thức cuối cùng

Như bạn có thể thấy, vòng lặp for này thực hiện chức năng tương tự như Vòng lặp While trước đó, nhưng ngắn gọn hơn nhiều. Thông thường, tốt nhất là sử dụng Vòng lặp For trong các tình huống mà bạn biết mình sẽ đi qua bao nhiêu yếu tố

Vòng lặp Foreach

Vòng lặp mới này đã được giới thiệu trong phiên bản PHP 4. Nó được sử dụng riêng để lặp qua các phần tử của một mảng, cho phép bạn dễ dàng in ra hoặc thực hiện các thao tác trên các phần tử trong một mảng. Để giữ cho mọi thứ không trở nên quá phức tạp, chúng tôi sẽ chờ trình bày chi tiết về vòng lặp cụ thể này khi các mảng được giới thiệu.

Cuối cùng…
Trong bài viết này, chúng ta đã đề cập đến hai loại Cấu trúc điều khiển mà PHP hỗ trợ. Câu lệnh có điều kiện và vòng lặp điều khiển. Các Cấu trúc này là cốt lõi của việc kiểm soát dòng chương trình; .

Lần tới, chúng ta sẽ xem xét các hàm được xác định trước và do người dùng xác định, các hàm này cũng đóng vai trò quan trọng trong quá trình phát triển logic và thực thi tập lệnh

Giữ nguyên

Những điều cần ghi nhớ

  • Cấu trúc điều khiển là cốt lõi của quy trình lập trình, cho phép bạn phân nhánh việc thực thi các tập lệnh dựa trên đầu vào và dễ dàng xử lý các tác vụ lặp lại
  • Có hai loại Cấu trúc điều khiển trong PHP. Câu lệnh có điều kiện và vòng lặp điều khiển
  • Câu lệnh có điều kiện và Vòng lặp chỉ có một câu lệnh lồng nhau không yêu cầu dấu ngoặc, tuy nhiên các lập trình viên thường sử dụng chúng để làm cho mã dễ hiểu hơn. Các câu lệnh lồng nhau thường được thụt lề vì cùng một lý do
  • Nghỉ; . Nó cũng có thể được sử dụng để thoát ra khỏi vòng lặp for và vòng lặp while. Lối ra;

Liz Fulghum hiện đang sống ở Annapolis, MD, nơi cô làm việc với tư cách là nhà thiết kế web cho một nhà bán lẻ áo sơ mi theo yêu cầu. Liz đã bị thuyết phục dùng thử PHP như một giải pháp thay thế cho Perl;

Cấu trúc dữ liệu trong PHP là gì?

Cấu trúc dữ liệu gốc duy nhất trong PHP là mảng. May mắn thay, mảng khá linh hoạt và cũng có thể được sử dụng làm bảng băm. .
sử dụng không gian tên Ds\
có 3 giao diện là Collection , Sequence và Hashable
có 8 lớp là Vector , Deque , Queue , PriorityQueue , Map , Set , Stack và Pair

4 cấu trúc dữ liệu là gì?

Cấu trúc dữ liệu tuyến tính phổ biến là. .
Cấu trúc dữ liệu mảng. Trong một mảng, các phần tử trong bộ nhớ được sắp xếp trong bộ nhớ liên tục. .
Cấu trúc dữ liệu ngăn xếp. Trong cấu trúc dữ liệu ngăn xếp, các phần tử được lưu trữ theo nguyên tắc LIFO. .
Cấu trúc dữ liệu hàng đợi. .
Cấu trúc dữ liệu danh sách liên kết

Ngăn xếp trong PHP là gì?

Ngăn xếp PHP là gì? . the operating system, web server, PHP, and anything PHP consumes or interacts with, including databases, queues, caches, APIs, and more.

cấu trúc trong cấu trúc dữ liệu với ví dụ là gì?

Cấu trúc dữ liệu có thể được định nghĩa là nhóm các thành phần dữ liệu cung cấp cách lưu trữ và tổ chức dữ liệu hiệu quả trong máy tính để dữ liệu có thể được sử dụng hiệu quả. Some examples of Data Structures are arrays, Linked List, Stack, Queue, etc.