Bài trước chúng ta đã tìm hiểu vòng lặp cuối cùng đó là vòng lặp foreach trong php, vậy thì trong bài này chúng ta sẽ tìm hiểu một số câu lệnh dừng chương trình vòng lặp và lệnh nhảy tới một vị trí nào đó trong file PHP. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Nội dung chúng ta gồm ó các phần như sau:
1. Câu lệnh breakLệnh Ví dụ: Bài viết này được đăng tại [free tuts .net] for ($i = 1; $i <= 100; $i++) { echo $i . ' '; if ($i == 20) { break; } } Trong ví dụ này thì vòng lặp được lặp từ 1 cho tới 100, nhưng nó không chạy hết 100 lần bởi vì khi nó chạy tới lần thứ 20 (tức là biến $i = 20) thì câu lệnh kiểm tra if đúng nên lệnh break bên trong câu if được thực hiện và sẽ dừng vòng lặp. Không chỉ ở vòng lặp for mà các vòng lặp như while và do while, vòng lặp foreach ta đều có thể dùng lệnh break để kết thúc. 2. Câu lệnh continueDịch ra tiếng anh cũng đủ hiểu phần nào câu lệnh này, lệnh Ví dụ: for ($i = 1; $i <= 10; $i++) { if ($i == 5) { continue; } echo $i . ' '; } Bài này vòng lặp for lặp từ 1 tới 10 và in ra các số đó. nhưng lạ thay là kết quả thiếu mất số 5 tại vì khi $i = 5 (vòng lặp thứ 5) thì câu lệnh continue đã nhảy chương trình qua vòng lặp mới nên lệnh Tương tự ta có thể sử dụng lệnh này cho tất cả các vòng lặp for, while, do while và foreach. 3. Câu lệnh gotoLệnh goto dùng để nhảy đến một dòng code nào đó. Ví dụ: $a = 12; $b = 13; $c = $a + $b; echo $a; goto label_end; echo $b; label_end; Trong ví dụ này nếu bình thường thì nó sẽ xuất ra màn hình cả $a và $b nhưng bài này nó chỉ xuất ra màn hình mỗi $a vì dòng Người ta khuyên rằng không nên sử dụng lệnh goto bởi vì nó khó nhìn, lộn xộn khó bảo trì nâng cấp. 4. Lênh die và exitVới 2 lệnh break và continue chỉ ảnh hương trong vòng lặp thì lệnh die và exit lại ảnh hưởng tới cả chương trình, nếu bạn dùng 2 lệnh này thì chương trình sẽ dừng ngay lập tức và những đoạn code bên dưới die và exit sẽ không được thực hiện. Ví dụ: echo '123'; die(); // hoặc exit(); echo '456'; Trong ví dụ này kết quả
xuất ra màn hình là 123, vởi vì dòng code 5. Lời kếtThực tế thì ta hay sử dụng lệnh break, continue, die và exit thôi chứ lệnh goto rất ít khi dùng vì nó làm cho chương trình trở lên rối, khó nâng cấp và bảo trì. Bài tiếp theo ta sẽ tìm hiểu hàm trong php.
PHP - function thường dùng
break
break<?php for ($i = 0; $i < 5; $i++) { ++$i; echo $i; break; } ?> Sau khi cộng break 2<?php $i = 0; while (++$i) { switch ($i) { case 5: echo "i có giá trị 5"."<br>"; break; // Chỉ thoát khỏi switch case 10: echo "i có giá trị 10"."<br>"; break 2; // Thoát khỏi switch và while. default: break; } } ?> i có giá trị 5 Giá trị continue
continue<?php for ($i = 0; $i < 5; ++$i) { if ($i == 2) { continue; } print "$i"."<br>"; } ?> Tại điều kiện isset()
isset() - không tồn tại giá trị<?php $a; var_dump(isset($a)); ?> Do biến $a chưa có giá trị, nên hàm kiểm tra isset() - tồn tại giá trị<?php $a = ""; var_dump(isset($a)); ?> Do biến isset() - điều kiện rẽ nhánh<?php $a = "Học Web Chuẩn"; if(isset($a)) { echo $a; } else { echo "a chưa có giá trị"; } ?> empty()
Ví dụ:<?php $a; var_dump(empty($a)); ?> Khác với hàm empty() - giá trị khác rỗng<?php $a = "1"; var_dump(empty($a)); ?> empty() - điều kiện rẽ nhánh<?php $a = "Học Web Chuẩn"; if(empty($a)) { echo $a; } else { echo "a có giá trị khác rỗng"; } ?> exit()
exit()<?php echo "Trước khi có exit()"; exit(); echo "Sau khi có exit()"; ?> Ta thấy đoạn echo thứ 2 đã không được thực hiện. exit(string)<?php echo "Trước khi có exit()"; exit("-Thoát rồi"); echo "Sau khi có exit()"; ?> Trước khi có exit()-Thoát rồi die()
Ví dụ:<?php echo "Trước khi có die()"; die(); echo "Sau khi có die()"; ?> Ta thấy đoạn echo thứ 2 đã không được thực hiện. die(string)<?php echo "Trước khi có die()"; die("-Thoát rồi"); echo "Sau khi có die()"; ?> Trước khi có die()-Thoát rồi |