tek4

Cấu trúc điều khiển trong PHP

by - September. 21, 2021
Kiến thức
Học
<p>Cấu tr&uacute;c điều khiển l&agrave; một kh&aacute;i niệm quan trọng trong khi lập tr&igrave;nh. Trong b&agrave;i viết n&agrave;y, ta sẽ t&igrave;m hiểu về c&aacute;c cấu tr&uacute;c điều khiển trong PHP.</p> <h1>Cấu tr&uacute;c điều khiển trong PHP</h1> <h2>C&acirc;u điều kiện If else</h2> <p>C&acirc;u lệnh điều kiện được sử dụng để thực hiện c&aacute;c h&agrave;nh động kh&aacute;c nhau dựa tr&ecirc;n c&aacute;c điều kiện kh&aacute;c nhau. Th&ocirc;ng thường khi ta viết c&aacute;c đoạn m&atilde;, ta muốn thực hiện c&aacute;c h&agrave;nh động kh&aacute;c nhau cho c&aacute;c điều kiện kh&aacute;c nhau. Ta c&oacute; thể sử dụng c&aacute;c c&acirc;u lệnh c&oacute; điều kiện trong đoạn m&atilde; của m&igrave;nh để l&agrave;m điều n&agrave;y.</p> <p>Trong PHP, ch&uacute;ng ta c&oacute; c&aacute;c c&acirc;u lệnh điều kiện sau như:</p> <ul> <li>C&acirc;u lệnh if được sử dụng để thực thi một đoạn m&atilde; nếu một điều kiện l&agrave; đ&uacute;ng.</li> <li>C&acirc;u lệnh if else được sử dụng để thực thi một số đoạn m&atilde; nếu một điều kiện l&agrave; đ&uacute;ng v&agrave; một đoạn m&atilde; kh&aacute;c nếu điều kiện đ&oacute; l&agrave; sai.</li> <li>C&acirc;u lệnh if...else if...else được sử dụng để thực thi c&aacute;c đoạn m&atilde; kh&aacute;c nhau cho nhiều điều kiện hơn.</li> <li>C&acirc;u điều kiện if lồng nhau.</li> </ul> <h3>1. C&acirc;u lệnh if</h3> <p>C&acirc;u lệnh if sẽ thực thi một đoạn m&atilde; nếu một điều kiện l&agrave; đ&uacute;ng.</p> <p><em>C&uacute; ph&aacute;p:</em></p> <pre class="EnlighterJSRAW" data-enlighter-language="generic">if (điều kiện) { &nbsp; đoạn m&atilde; được thực thi nếu điều kiện đ&uacute;ng }</pre> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = 100; if ($a &gt; 30) { &nbsp; echo "Dieu kien la dung boi 100 &gt; 30"; } ?&gt;</pre> <p>Kết quả:</p> <pre>Dieu kien la dung boi 100 &gt; 30</pre> <h3>2. C&acirc;u lệnh If else</h3> <p>C&acirc;u lệnh if...else sẽ thực thi một đoạn m&atilde; nếu một điều kiện l&agrave; đ&uacute;ng v&agrave; một đoạn m&atilde; kh&aacute;c nếu điều kiện đ&oacute; l&agrave; sai.</p> <p><em>C&uacute; ph&aacute;p:</em></p> <pre class="EnlighterJSRAW" data-enlighter-language="generic">if (điều kiện) { Đoạn m&atilde; thực thi 1 } else { Đoạn m&atilde; thực thi 2 }</pre> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = 100; if ($a &lt; 30) { echo "Dieu kien dung"; } else { echo "Dieu kien sai"; } ?&gt;</pre> <p>Kết quả:</p> <pre>Dieu kien sai</pre> <h3>3. C&acirc;u lệnh if...else if</h3> <p>C&acirc;u lệnh if...elseif...else sẽ thực thi c&aacute;c đoạn m&atilde; kh&aacute;c nhau cho nhiều điều kiện hơn.</p> <p><em>C&uacute; ph&aacute;p:</em></p> <pre class="EnlighterJSRAW" data-enlighter-language="generic">if (điều kiện) { Đoạn m&atilde; 1 } elseif (điều kiện 2) { Đoạn m&atilde; 2 } else { Đoạn m&atilde; cho trường hợp c&ograve;n lại }</pre> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = 101; if ($a &gt; 102) { echo "Cao hon"; } elseif ($a &lt; 100) { echo "Thap hon"; } else { echo "Bang nhau"; } ?&gt;</pre> <p>Kết quả:</p> <pre>Bang nhau</pre> <h3>4. C&acirc;u điều kiện if lồng nhau</h3> <p>C&acirc;u lệnh if lồng nhau sẽ chứa một khối đoạn m&atilde; if b&ecirc;n trong một khối if kh&aacute;c. C&acirc;u lệnh if b&ecirc;n trong chỉ được thực thi khi điều kiện được chỉ định trong c&acirc;u lệnh if b&ecirc;n ngo&agrave;i l&agrave; đ&uacute;ng.</p> <p><em>C&uacute; ph&aacute;p:</em></p> <pre class="EnlighterJSRAW" data-enlighter-language="generic">if (điều kiện 1) { if (điều kiện 1.2) { Đoạn m&atilde; }</pre> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = 105; if ($a &gt; 102) { if($a == 105){ echo $a; } } ?&gt;</pre> <p>Kết quả:</p> <pre>105</pre> <h2>C&acirc;u lệnh Switch trong PHP</h2> <p>C&acirc;u lệnh Switch được sử dụng để thực hiện c&aacute;c h&agrave;nh động kh&aacute;c nhau dựa tr&ecirc;n c&aacute;c điều kiện kh&aacute;c nhau. Sử dụng c&acirc;u lệnh switch để chọn một trong nhiều khối đoạn m&atilde; sẽ được thực thi.</p> <p><em>C&uacute; ph&aacute;p:</em></p> <pre class="EnlighterJSRAW" data-enlighter-language="generic">switch (a) { case nh&atilde;n1: Đoạn m&atilde; 1 break; case nh&atilde;n2: Đoạn m&atilde; 2 break; case nh&atilde;n3: Đoạn m&atilde; 3 break; ... default: Đoạn m&atilde; mặc định }</pre> <p>Sau đ&acirc;y l&agrave; c&aacute;ch n&oacute; hoạt động: Đầu ti&ecirc;n ch&uacute;ng ta c&oacute; một biểu thức n (thường l&agrave; một biến), được đ&aacute;nh gi&aacute; một lần. Gi&aacute; trị của biểu thức sau đ&oacute; được so s&aacute;nh với c&aacute;c gi&aacute; trị cho từng trường hợp (case) trong cấu tr&uacute;c. Nếu c&oacute; sự tr&ugrave;ng khớp, đoạn m&atilde; li&ecirc;n quan đến trường hợp đ&oacute; sẽ được thực thi. Sử dụng c&acirc;u lệnh break; để ngăn c&aacute;c đoạn m&atilde; kh&aacute;c c&ograve;n lại tự động thực thi cho c&aacute;c trường hợp tiếp theo. Đoạn m&atilde; mặc định sẽ được thực thi nếu kh&ocirc;ng t&igrave;m thấy kết quả ph&ugrave; hợp n&agrave;o.</p> <h3>C&aacute;c điểm quan trọng cần ch&uacute; &yacute;</h3> <p>Trường hợp mặc định l&agrave; t&ugrave;y chọn. Ngay cả khi n&oacute; kh&ocirc;ng cần thiết, mặc định sẽ lu&ocirc;n phải l&agrave; trường hợp cuối c&ugrave;ng. Chỉ c&oacute; thể c&oacute; một trường hợp mặc định trong c&acirc;u lệnh Switch. Mỗi trường hợp c&oacute; thể c&oacute; một c&acirc;u lệnh break, được sử dụng để kết th&uacute;c chuỗi c&aacute;c c&acirc;u lệnh. C&acirc;u lệnh break l&agrave; t&ugrave;y chọn. Nếu break kh&ocirc;ng được sử dụng, tất cả c&aacute;c đoạn m&atilde; c&ograve;n lại sẽ được thực thi sau khi t&igrave;m thấy trường hợp tr&ugrave;ng khớp.</p> <p>PHP cho ph&eacute;p sử dụng gi&aacute; trị số, k&yacute; tự, chuỗi k&yacute; tự, cũng như c&aacute;c h&agrave;m trong c&acirc;u lệnh Switch. Việc lồng c&aacute;c c&acirc;u lệnh Switch l&agrave; được ph&eacute;p, nhưng n&oacute; sẽ l&agrave;m cho chương tr&igrave;nh phức tạp hơn v&agrave; kh&oacute; hiểu hơn. Ta c&oacute; thể sử dụng dấu chấm phẩy (;) thay cho dấu hai chấm (:). N&oacute; sẽ kh&ocirc;ng tạo ra bất kỳ lỗi n&agrave;o.</p> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = 4; switch ($a) { case 2: echo "Truong hop thu 1"; break; case 4: echo "Truong hop thu 2"; break; case 6: echo "Truong hop thu 3"; break; default: echo "Truong hop thu mac dinh"; } ?&gt;</pre> <p>Kết quả:</p> <pre>Truong hop thu 2</pre> <p>V&iacute; dụ 2:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $sv = "Sinh vien truong Y"; switch ($sv) { case "Sinh vien truong Y": echo "ID la: 1"; break; case "Sinh vien truong Luat": echo "ID la: 2"; break; case "Sinh vien truong Ky thuat": echo "ID la: 3"; break; default: echo "ID la: 0"; } ?&gt;</pre> <p>Kết quả:</p> <pre>ID la: 1</pre> <p>V&iacute; dụ 3:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $sv = "Sinh vien truong Y"; switch ($sv) { case "Sinh vien truong Y": echo "ID la: 1"; case "Sinh vien truong Luat": echo "ID la: 2"; case "Sinh vien truong Ky thuat": echo "ID la: 3"; default: echo "ID la: 0"; } ?&gt;</pre> <p>Kết quả:</p> <pre>ID la: 1ID la: 2ID la: 3ID la: 0</pre> <p>Trong đoạn m&atilde; tr&ecirc;n, trong c&aacute;c trường hợp, ta đ&atilde; kh&ocirc;ng sử dụng break, do vậy, sau khi trường hợp đầu ti&ecirc;n được tr&ugrave;ng khớp với gi&aacute; trị của biến $sv, th&igrave; đoạn m&atilde; trong trường hợp n&agrave;y được thực thi, tiếp theo l&agrave; c&aacute;c đoạn m&atilde; của c&aacute;c trường hợp sau cũng được thực thi.</p> <p>Tr&ecirc;n đ&acirc;y l&agrave; kh&aacute;i niệm v&agrave; v&iacute; dụ cơ bản về cấu tr&uacute;c điều khiển trong PHP. Hy vọng mọi người c&oacute; thể &aacute;p dụng v&agrave;o trong chương tr&igrave;nh của m&igrave;nh. Mọi người h&atilde;y tiếp tục theo d&otilde;i c&aacute;c b&agrave;i tiếp theo v&agrave; cập nhật c&aacute;c b&agrave;i mới nhất tr&ecirc;n <a href="http://tek4.vn">tek4</a> nh&eacute;!</p> <p>P/s: Cảm ơn mọi người!</p>