Các câu lệnh trong ngôn ngữ lập trình
Các câu lệnh trong ngôn ngữ lập trình
Trong mỗi ngôn ngữ lập trình chúng ta đều phải sử dụng cấu trúc viết lệnh riêng để nó thực hiện các công việc mà chúng ta cần như tính toán hay sắp xếp một dãy số nào đó với PHP cũng vậy bạn cần sử dụng các câu lệnh theo đúng cấu trúc dữ liệu và dúng cú pháp câu lệnh để nó có thể hiển thị những gì bạn cần. Dưới đây là những câu lệnh thường dùng trong PHP với các ví dụ cụ thể hy vọng nó sẽ giúp các bạn đang học lập trình web với PHP có thể bổ sung được kiến thức cho mình.
Để lập trình giải một bài toán nào đó, chúng ta phải sử dụng các câu lệnh sau:
1. Lệnh gán: được sử dụng để đặt một giá trị vào một biến nào đó.
2. Lệnh rẽ nhánh: Được sử dụng để xác định xem chương trình sẽ thực hiện công việc gì trong điều kiện ra sao
3. Lệnh lặp: Cho phép chương trình của bạn tự động lặp lại các thao tác nào đó
Quá trình xây dựng các bước để thực hiện một bài toán nào đó, gọi là quá trình xây dựng thuật giải.
Ví dụ: Hãy tưởng tượng bạn đang ... nhậu
Bước 0: chưa có ai say rượu
Bước 1: Kêu chủ quán cho một chai "cuốc lủi" (tạm thời là lệnh gán)
Bước 2: Khi còn chưa hết chai thì nhày sang bước 3:
Bước 3: Mỗi thằng một chén, trăm phần trăm
Bước 4: Nếu thằng nào xỉn, thì loại nó ra khỏi trận chiến (lệnh rẽ nhánh)
Bước 5: Nếu tất cả đều xỉn: tàn cuộc (lệnh rẽ nhánh), còn nếu không thì tiếp tục
Bước 6: Nếu hết một chai thì nhảy về bước 1 (Lệnh lặp)
OK, đến giờ thì chắc bạn đã hiểu qua một chút. Bây giờ chúng ta sẽ ứng dụng chúng vào PHP. Phần về các câu lệnh cơ bản trong PHP được chia làm 2 bài là Các câu lệnh rẽ nhánh và các câu lệnh lặp. Bài này tập trung vào việc xử lý câu lệnh gán và rẽ nhánh.
1. Lệnh gán
Lệnh này đã được học ở bài trước:
Cú pháp:
$ten_bien = gia_tri;
Ví dụ:
$ngay_sinh="1/4/1980";
$que_quan="Thanh Hoa";
$luong=300000;
2. Các câu lệnh rẽ nhánh
Trong PHP có 2 dạng rẽ nhánh: rẽ hai nhánh (if) và rẽ nhiều nhánh.
Lệnh rẽ nhánh là một trong những câu lệnh quan trọng nhất của tất cả các ngôn ngữ lập trình. Nó cho phép bạn thực thi một đoạn mã khi mà điều kiện chỉ định là đúng.
Trong PHP, lệnh rẽ nhánh có dạng sau:
if (điều kiện)
{
công việc cần làm
}
Ví dụ:
if ($name="Sinh")
{
Nếu khối câu lệnh cần làm chỉ bao gồm duy nhất một dòng lệnh, ta có thể bỏ cặp dấu {} :
if ($name="Sinh")
echo ("Good morning, my boss");
Nhưng nếu nhiều hơn một dòng lệnh, ta phải đưa chúng vào cặp dấu ngoặc {}:
if ($name=="Sinh")
{
echo ("Good morning, my boss");
Đoạn lệnh trên sẽ kiểm tra nếu điều kiện biến $name = "Sinh" thì nó sẽ hiển thị lời chào. Còn nếu không thì nó không làm gì cả!
Điều kiện đặt vào có thể là đúng, có thể là sai, có thể là tổng hợp của nhiều điều kiện. Hãy xem ví dụ sau:
if ("false" )
echo ("Khong co gi ca");
if (($name=="sinh") && ($pass=="test"))
echo ($name. "đã nhập đúng password");
Đoạn lệnh trên có thể viết tương đương với:
if ($name=="sinh")
{
if ($pass=="test")
echo ($name. "đã nhập đúng password");
}
Như bạn thấy ở trên, trong một câu lệnh, chúng ta có thể chèn nhiều đoạn lệnh khác, người ta gọi đó là cấu trúc khối, tức là trong một khối lệnh, có thể có chứa nhiều khối lệnh con khác. Nếu bạn phải đọc mã nguồn của người khác, hi vọng bạn không bị hoa mắt vì hàng chục khối lệnh chen chúc vào nhau như vậy.
Chúng ta có thể sử dụng các toán tử &&, || hay xor để kết nối các điều kiện với nhau như bạn thấy ở trên
Câu lệnh rẽ nhánh đầy đủ:
Nếu điều kiện kiểm tra trả về false (sai), PHP cho phép chúng ta chỉ định thực thi một khối mã lệnh khác bằng từ khoá else
Ví dụ:
if (($name=="sinh") && ($pass=="test"))
{
echo ("Good day, ".$name);
}
else
{
echo {"Sai mat khau!")
}
Chú ý đến một ngoại lệ sau: Trước từ khoá else không bao giờ có dấu chấm phẩy (.
Lệnh rẽ nhiều nhánh:
Với câu lệnh if, PHP cho phép chúng ta rẽ nhiều nhánh thông qua từ khoá elseif:
if (dieu_kien1)
{
doan_lenh_1;
}
elseif (dieu_kien_2)
{
doan_lenh_2
}
elseif (dieu_kien_3)
} // bao nhiêu từ khoá elseif cũng được
else
{
doan_lenh_n
}
Ví dụ:
if ($thu==2)
{
echo ("Chao co, van, su, ly");
}
elseif ($thu==3)
{
echo (" Hoa, Sinh, Dia, GDCD");
}
elseif ($thu==4)
{
echo ("KTCN, Van, Toan, Tieng Anh");
}
elseif ($thu==5)
{
echo (" Hoa, Toan, Van, Tin");
}
elseif ($thu==6)
{
echo ("Toan, Van, Anh, Sinh hoat");
}
else
{
echo ("Duoc di choi");
}
Trong ví dụ trên, chúng ta đã lặp đi lặp lại thao tác kiểm tra giá trị của biến $thu, mặc dù nó không thay đổi qua các dòng. Để khắc phục sự dài dòng này, PHP cho phép ta sử dụng câu lệnh switch. Câu lệnh này sẽ được sử dụng để kiểm tra khi muốn xem xét qua nhiều giá trị của một biến:
switch ($bien){
Case gia_tri 1:
doan_lenh_1;
Case gia_tri 2:
doan_lenh_2;
Case gia_tri n:
doan_lenh_n;
default:
doan_lenh_khac;
}
Ví dụ:
switch ($thu){
case 2:
echo ("Chao co, van, su, ly");
case 3:
echo (" Hoa, Sinh, Dia, GDCD");
case 4:
echo ("KTCN, Van, Toan, Tieng Anh");
case 5:
echo (" Hoa, Toan, Van, Tin");
case 6:
echo ("Toan, Van, Anh, Sinh hoat");
default:
echo ("Duoc di choi");
Câu lệnh switch sẽ ước lượng giá trị của biến $thu, và so sánh nó với giá trị của mệnh đề case. Khi một giá trị hợp lệ được tìm thấy, nó sẽ thực hiện câu lệnh tương ứng với giá trị đó. Còn nếu không, nó sẽ tự động thực hiện câu lệnh trong mệnh đề default. Hãy chú ý rằng mệnh đề defaul là tuỳ chọn (bạn có thể có nó hoặc không cần nó)