Tải bản đầy đủ (.doc) (17 trang)

Chương trình PHP đầu tiên: Hello World! pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (144.3 KB, 17 trang )

Bài 4: Chương trình PHP đầu tiên: Hello World!
I. Khởi đầu
Nếu các bạn đã từng học lập trình, chắc các bạn cũng biết được "Hello world!" là cái gì,
còn nếu bạn nào chưa biết, thì tôi sẽ giải thích ngay đây:
"Hello world!" là một chương trình dành cho những người mới bắt đầu học một ngôn ngữ
lập trình nào đó. Chương trình này đơn giản chỉ viết duy nhất một dòng chữ "Hello
world!" ra màn hình. Các bạn có thể bỏ qua nó nếu đã biết từ trước, còn nếu bạn nào chưa
học, thì chúng ta bắt tay vào viết chương trình này bằng PHP nhé.
Hãy mở NotePad ra, gõ vào nội dung sau:
Trích:
<HTML>
<BODY>
<?php
echo ("Hello world!");
?>
</BODY>
</HTML>
OK, Save lại với cái tên test.php. Copy nó vào thư mục gốc (Root Directory) mặc định
của Web server. Khởi động Web server Apache lên (nó sẽ hiển thị một cửa sổ đen ngòm,
bạn cứ để đó, đừng tắt nó đi, vì nếu tắt đi thì tức là bạn đã tắt chương trình Web server
Apache đi rồi đấy).
Bây giờ mở trình duyệt ra, tại ô địa chỉ, gõ nội dung sau: "http://127.0.0.1/test.php" (nhớ
bỏ hai dấu ngoặc kép đi nhé)
Nó sẽ hiển thị ra cửa sổ trình duyệt với duy nhất dòng chữ Hello world!
Chắc bạn thất vọng lắm hả? Vâng, nó chỉ có mỗi dòng chữ "Hello world!" trên màn hình
trình duyệt, mà bạn có thể làm nó đơn giản hơn rất nhiều, chẳng cần đến cái PHP kia.
OK. Đừng thất vọng vội.
Chương trình này hoạt động như thế nào? Trước tiên chúng ta hãy tìm hiểu cách thức
hoạt động của hệ trình duyệt (Web Client) và máy chủ cung cấp dịch vụ Web (Web
server ) đã nhé:
Bước 1: Trình duyệt gửi một yêu cầu HTTP đến máy chủ, yêu cầu một file nào đó


Bước 2: Máy chủ sẽ chuyển yêu cầu này đến chương trình xử lý tương ứng, chính là
chương trình Web server.
Bước 3: Web server phân tích chuỗi yêu cầu nhận được, kiểm tra xem trình duyệt ở máy
khách yêu cầu gì. Nếu đó là các file bình thường (không phải là các file chứa các đoạn
mã script thực thi phía máy chủ), nó sẽ tìm kiếm file đó và trả về cho trình duyệt ở máy
khách. Còn nếu đó là các file chứa các đoạn mã script thực thi phía máy chủ (các chương
trình CGI, hay các file thư viện liên kết động ISAPI, hoặc các file *.asp hay *.php), nó sẽ
triệu gọi chương trình thực thi các đoạn mã này. Chương trình này sẽ chịu trách nhiệm
chạy các đoạn mã, trả chúng về cho Web server dưới khuôn dạng của HTML. Sau đó,
Web server mới trả kết quả lấy được cho trình duyệt.
Như vậy, chương trình của bạn phải được thực thi trên máy chủ, sau đó mới được trả về
cho trình duyêt. Và đây chính là cái gọi là "Trang Web động". Không như các trang web
tĩnh, trang web động cho phép bạn có sự tương tác với máy chủ thông qua các đoạn script
thực thi phía server. Nhờ có sự tương tác này, bạn có thể truy xuất cơ sở dữ liệu, lấy
thông tin người sử dụng, điều khiển các hoạt động khác
OK. Bây giờ chắc bạn đã có được chút ít kiến thức với các hệ thống điều khiển Web
Client - Server rồi. Đến lượt chúng ta bắt đầu phân tích chương trình đầu tiên kia.
II. Phân tích chương trình
Quay trở về đoạn mã trên.
Điều đầu tiên các bạn cần phải biết, đó là các đoạn mã thực thi PHP luôn luôn được đặt
trong thẻ <?php ?>. Chương trình xử lý phía máy chủ sẽ chỉ thực thi các đoạn mã nằm
trong thẻ này. Tất cả các đoạn mã khác nằm ngoài thẻ trên đều không được xử lý trực tiếp
trên server mà được đưa về trình duyệt.
<?php
// Đoạn mã PHP đặt ở đây
?>
Điều thứ 2 bạn cần biết là chương trình của bạn phải được đặt trong các file *.php. Nếu
bạn đặt nó vào file khác, thì đừng mong nó chạy nhé, vì nguyên tắc của chương trình
Web server là chỉ triệu gọi các chương trình xử lý tương ứng với các file có đuôi xác định
trước.

Điều thứ 3 bạn cần biết là trong file *.php của bạn, ngoài các đoạn script PHP, bạn có thể
đặt bất kỳ cái gì theo khuôn dạng HTML, kể cả các đoạn JavaScript chạy trên máy khách.
Tức là ngoại trừ các đoạn script PHP ra thì nó không khác gì một file HTML thông
thường
Điều thứ 4 các bạn cần biết, là chúng ta có thể đặt nhiều đoạn mã xử lý PHP khác nhau
trong cùng một file PHP. Các đoạn mã PHP này sẽ được thực thi lần lượt từ đầu file
xuống dưới. Hãy xem ví dụ sau:
Trích:
<HTML>
<BODY>
<?php
echo ("Hello world!");
?>
<BR>
Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi
<?php
echo ("<p align=right> CMXQ </p>")
?>
</BODY>
</HTML>
Khởi đầu, chương trình xử lý phía Web server sẽ phân tích file PHP này, trả về đoạn mã
<HTML>
<BODY>
Tiếp theo, khi thấy đoạn mã thứ nhất, nó sẽ thực thi và trả về dòng "hello, world" (Dòng
này do hàm echo() của PHP thực hiện). Sau đó, nó tiếp tục trả về các dòng
<BR>
Xin chao tat ca cac ban, day la chuong trinh PHP dau tien cua toi
Đến khi gặp đoạn PHP thứ 2, nó sẽ thực thực thi đoạn mã thứ 2 này (gọi hàm echo()) và
trả về kết quả:
"<p align=right> CMXQ </p>"

Hết đoạn mã thứ 2. Nó sẽ gửi tiếp phần còn lại của file về cho Web server. Sau đó, Web
server chính thức trả toàn bộ kết quả về cho trình duyệt.
Điều quan trọng cuối cùng: Kết thúc mỗi câu lệnh của PHP đều là một dấu chấm phẩy
(";"), ngoại trừ một vài trường hợp (các bạn sẽ được biết sau này)
Bây giờ tôi xin giải thích cách sử dụng hàm duy nhất trong bài này: echo()
Hàm echo được sử dụng để trả về nội dung của các biến, hằng, chuỗi cho trình duyệt. Ở
ví dụ trên, hàm echo trả về chuỗi "hello, world" và chuỗi "<p align=right> Le Nguyen
Sinh </p>". Các thẻ HTML trong chuỗi sẽ được giữ nguyên khi nó được đưa về trình
duyệt, và nó sẽ được xử lý như các thẻ HTML khác.
III. Một số lưu ý
Dấu chú thích:
Các đoạn chú thích rất hữu dụng trong các chương trình của bạn (chẳng hạn muốn chú
thích câu lệnh này làm gì, đoạn chương trình này làm gì ). Khi phân tích mã PHP, các
đoạn chú thích sẽ bị bỏ qua, nhưng một lập trình viên thì không bao giờ bỏ qua chúng
Chúng ta có thể sử dụng một số dấu chú thích sau trong PHP:
// dòng văn bản chú thích (chỉ áp dụng trên một dòng)
/* Đoạn văn bản chú thích */ (nằm trong cặp /* và */
Lưu ý rằng các dấu chú thích này chỉ có hiệu lực trong các đoạn mã nhúng PHP thôi đấy
nhé
Ví dụ
<?php
echo("Tôi là một oan hồn vô danh"); // Hiển thị lời giới thiệu lên màn hình
echo (" Sơ yếu lý lịch");
/* Hiển thị bản sơ yếu lý lịch
Copyright © by CMXQ
*/
echo ("Tên đầy đủ: XXXXXXX");
echo ("Ngày sinh: XXXX");
?>
Ký tự giải phóng

Hãy chú ý đến dòng chữ sau:
My name's "CMXQ"
Để in nó ra màn hình, chắc các bạn sẽ làm như sau:
<?php
echo("My name's ""CMXQ"");
?>
Rất tiếc là bạn đã nhầm. PHP có quy định một số ký tự đặc biệt (Dấu ngoặc kép (") là
một trong các ký tự đó). Một vài phiên bản của web server khi gặp lỗi này đã không thực
hiện nữa, và thông báo lỗi đến người dùng. Còn trong một vài phiên bản khác, nó sẽ tự
động chèn một dấu sượt chéo (/) trước ký tự gây lỗi này. Một dấu gạch chéo (\) trước ký
tự gây lỗi khiến cho nó được đối xử như là một ký tự thông thường, không phải là ký tự
đặc biệt. Ký tự này (\) được gọi là ký tự giải phóng (Escaping character).
Đoạn mã đúng như sau:
<?php
echo ("My name's: \"CMXQ\"");
?>
Dưới đây là một số các ký tự đặc biệt mà có thể được chỉ rõ với ký tự giải phóng gạch
chéo
Ký tự nối tiếp Nghĩa
\' Dấu móc lửng (')
\" Dấu móc kép (")
\\ Dấu gạch chéo (\)
\$ Dấu $
\n Ký tự tạo dòng mới
\r Ký tự về đầu dòng
\t Ký tự Tab
Hãy xem ví dụ dưới đây (yêu cầu bạn tự tìm hiểu và phân tích mã nguồn)
<?php
$name="Tiến Tùng";
echo("Giá trị của biến \$name là $name);

?>
OK. Đến bây giờ, bạn đã biết một chút về PHP rồi đấy. Hãy viết vài chương trình PHP,
sử dụng hàm echo đi đã nhé . Nhớ chú ý cách thức xử lý các kết quả trả về. Hẹn gặp lại
các bạn trong bài sau.
Chúc các bạn thành công!
OK, bây giờ chúng ta chuẩn bị làm việc với các câu lệnh "xương sống" của một ngôn ngữ
lập trình.
Nếu bạn nào đã từng học qua một ngôn ngữ lập trình nào đó, thì các bạn có thể đọc lướt
qua phần này. Còn nếu bây giờ bạn mới bắt đầu tiếp xúc với một ngôn ngữ lập trình thì
hãy chuẩn bị tinh thần đi
Các câu lệnh trong ngôn ngữ lập trì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")
{
echo ("Good morning, my boss");
}
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");
echo ("Have a romantic day!");
}

Đ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ó)
Lệnh điều khiển vòng lặp
Điều khiển vòng lặp, tức là bạn điều khiển chương trình của bạn tự động thực hiện một
đoạn mã lệnh nào đó lặp đi lặp lại nhiều lần (lặp một số lượng lần nào đó, hoặc lặp cho
đến khi thoả mãn một điều kiện nào đó).
PHP cung cấp cho chúng ta hai kiểu vòng lặp: vòng lặp while (lặp kiểm tra điều kiện, cho
đến khi điều kiện được thoả mãn) và vòng lặp for (xác định số lần lặp lại)
a) Vòng lặp while
Vòng lặp while là một dạng vòng lặp đơn giản nhất, cấu trúc của nó gần giống như lệnh
if:
while (điều kiện)
{
//Khoi cau lenh can lap
}

Vòng lặp while sẽ ước lượng một biểu thức giá trị kiểu boolean (đúng hoặc sai).Nếu giá
trị của biểu thức là false, đoạn mã trong cặp dấu ngoặc (đoạn mã cần lặp) sẽ được bỏ qua
và nhảy đến đoạn mã sau vòng lặp. Nếu giá trị của nó là true, đoạn mã trong cặp dấu
ngoặc sẽ được thực thi. Khi bắt gặp dấu ngoặc ôm ("}") , điều kiện kiểm tra sẽ được tính
toán lại, và nếu giá trị vẫn là true, đoạn mã trong ngoặc lại tiếp tục được thực thi. Chú ý
rằng điều kiện lặp chỉ được tính toán tại thời điểm bắt đầu lặp. Vì vậy, dù điều kiện lặp có
bị thay đổi trong quá trình thực thi đoạn lệnh trong cặp dấu {} thì đoạn lệnh đó vẫn được
tiếp tục thực hiện cho đến hết. Muốn dừng lại ở một vị trí xác định nào đó trong khối câu
lệnh, chúng ta sử dụng lệnh break:
Ví dụ1: Tính tổng từ 1 đến 5:
<?php
$i=0;
$tong=0;
while ($i<=5)
{
$tong=$tong+$i;
$i+=1;
}
?>
Ví dụ 2: Đoạn mã sau sẽ hiển thị trên trình duyệt 3 ô textbox (Với điều kiện bạn phải
save nó dưới một file *.php :
<HTML>
<TABLE>
<BODY>
<?php
$i=1;
while ($i<=3)
{
?>
<TR><TD> <INPUT type="text"> </TD></TR>

<?php
$i+=1;
}
?>
</table>
</body>
</html>
b. Vòng lặp do while
Vòng lặp này giống như vòng lặp while, nhưng thay vì kiểm tra điều kiện vào lúc đầu của
đoạn lệnh cần lặp, thì nó lại kiểm tra giá trị điều kiện vào cuối vòng lặp. Điều này có
nghĩa là nó luôn luôn thực hiện đoạn lệnh cần lặp ít nhất một lần.
Cấu trúc của nó như sau:
do
{ Đoạn (khối) câu lệnh cần lặp
} while (điều kiện);
Ví dụ:
<HTML>
<TABLE>
<BODY>
<?php
$i=1;
do
{
?>
<TR><TD> <INPUT type="text"> </TD></TR>
<?php
$i+=1;
}while ($i<=3);
?>
</table>

</body>
</html>
Để xác định lại sự khác nhau của 2 câu lệnh trên, đơn giản bạn chỉ việc thay điều kiện
$i<=3 thành $i<1, bạn sẽ thấy hai kết quả khác nhau liền . Phần này dành cho bạn tự ngồi
nghĩ. OK???
Quên mất, lúc nãy tôi đề cập đến lệnh break, nhưng chưa cho ví dụ, bây giờ chúng ta hãy
xem xét ví dụ sau:
Các bạn biết rằng giai thừa là một con số lớn kinh khủng, và chương trình của chúng ta sẽ
tính toán n giai thừa, với số n được gửi đến theo địa chỉ url: Nhanhoa.com - Offline (ở đó
x là một số do người dùng tự nhập)
Do giai thừa là một con số cực kỳ lớn, nên chúng ta chỉ cho phép người dùng tính đến tối
đa là 8 giai thừa chẳng hạn. Nếu họ nhập lớn hơn 8 thì sao? Hãy xem đây:
<HTML>
<?php
// Ghi lai voi ten file la giaithua.php
$giaithua=1;
$i=1;
while ( $i<=$n)
{
$giaithua*=$i;
$i+=1;
if ($i>8 )
{
echo ("Chi tinh den 8! <BR>");
break;
}
}
echo ("Ket qua la: ".$giaithua);
?>
</HTML>

Đoạn mã trên chỉ cho phép tính đến 8 giai thừa, nếu người dùng nhập một con số lớn hơn
8 thì máy sẽ hiển thị 8 giai thừa, còn nếu nhỏ hơn thì vẫn chạy tốt.
c) Vòng lặp for.
Vòng lặp for, với ý nghĩa đầu tiên là lặp với số lần định trước, có cấu trúc như sau:
for ( $biến = giá_trị_đầu; $biến < (hay <=) giá_trị_kết_thúc; tăng_biến_đếm)
{
// Khối câu lệnh
}
Biểu thức $biến=giá_trị_đầu, đảm bảo biến được gán một giá trị khởi đầu (1)
Biểu thức $biến< (hay <=) giá_trị_kết_thúc, sẽ xác định xem biến đã đạt đến giá trị kết
thúc (tức là điều kiện lặp không còn đúng nữa) chưa (2)
Biểu thức tính toán tăng_biến_đếm đảm bảo để sau một số lần lặp nào đó thì biểu thức
xác định điều kiện (2) sẽ dẫn đến kết quả sai (để thoát khỏi vòng lặp).
Ví dụ:
for ( $i = 1; $i <10; ++$i)
{
echo ("Giá trị của biến \$i là: ".$i);
}
Một biến dạng khác của vòng lặp for, gần giống như lệnh rẽ nhánh if và while:
for (bieu_thuc_1; bieu_thuc_2; bieu_thuc_3):
// Khối câu lệnh
endfor;
Ví dụ:
<?php
for ($i=1; $i<=10;++$i)
?>
<TR><TD> <INPUT type="text"> </TD></TR>
<?php
endfor
?>

OK, Như vậy các bạn đã học qua các lệnh cơ bản nhất của php, và cũng là các lệnh cơ
bản của tất cả các ngôn ngữ lập trình (gán, rẽ nhánh và lặp). Sau này nếu phải triển khai
trên các ngôn ngữ lập trình khác, cách viết các lệnh này có thể khác nhau, nhưng bản chất
của chúng thì mãi mãi không bao giờ thay đổi.
I. Khái niệm hàm
Hàm (function), nguyên nghĩa tiếng Anh có nghĩa là chức năng.
Trong lập trình, ta có thể hiểu hàm là một đoạn chương trình được xây dựng để thực hiện
một chức năng nào đó.
Đoạn chương trình này chỉ cần phải viết duy nhất một lần, và có thể được sử dụng nhiều
lần trong toàn bộ chương trình.
Một hàm sẽ được xác định bởi tên hàm và các tham số đầu vào liên quan đến hàm đó.
Thông thường, hàm sẽ trả về một kết quả nào đó.
Chúng ta có thể tưởng tượng theo sơ đồ sau:
Trích:
Tham số đầu vào 1 |
Tham số đầu vào 2 |
Tham số đầu vào 3 | > tên hàm > kết quả trả về sau khi gọi hàm.
|
Tham số đầu vào n |
Như vậy một hàm sẽ nhận các thông tin đầu vào, xử lý nó và trả về kết quả nào đó.
Trong PHP có rất nhiều hàm đã được xây dựng sẵn mà chúng ta chỉ việc đem ra sử dụng,
như các hàm xử lý chuỗi, thời gian, xử lý tệp, thư mục
Xét về bản chất, một ngôn ngữ lập trình chỉ có ba câu lệnh chính là gán, lặp và rẽ nhánh.
Việc sắp xếp các câu lệnh như thế nào để cho ra một kết quả gọi là một thuật toán (các
bước để giải một bài tóan, đã được đề cập ở những bài đầu tiên) hay giải thuật. Và một
chương trình sẽ là sự kết hợp của giải thuật và các cấu trúc dữ liệu. Để hỗ trợ các chương
trình xử lý một số tình huống nào đó, người ta sử dụng các hàm.
Các câu lệnh write của Pascal hay câu lệnh echo của PHP thực chất phải được gọi là các
hàm chứ không phải là một câu lệnh.
Để giải thích rõ hơn khái niệm hàm, ta quay trở lại với "câu lệnh" echo quen thuộc:

Hàm echo(chuỗi) có tên là echo, tham số đầu vào là một chuỗi, và chức năng (kết quả mà
nó trả về) là một dòng chữ (được lưu trong biến chuỗi) được trả về trình duyệt.
II. Các hàm dựng sẵn và các hàm do người dùng tự xây dựng
Các hàm dựng sẵn trong PHP (PHP Built-in functions) là các hàm đã được các nhà phát
triển PHP cài đặt sẵn, và chúng ta chỉ việc đem ra sử dụng. Cần phân biệt các hàm này
với các hàm do người dùng tự cài đặt (user functions). Các hàm do người dùng tự xây
dựng chỉ có thể được dùng trong chương trình có chứa hàm đó. Khi chuyển qua một ứng
dụng khác, nếu chúng ta không viết lại các hàm đó thì chúng ta sẽ không thể sử dụng.
Một điểm mà tôi rất thích sử dụng PHP đó là PHP có một thư viện các hàm dựng sẵn vô
cùng phong phú, đáp ứng được hầu hết nhu cầu phát triển các ứng dụng web. Đó chính là
lý do vì sao mà PHP được ưa chuộng hơn hẳn so với ASP (chỉ có mấy cái đối tượng
"quèn"). Các hàm dựng sẵn trong PHP cũng rất đơn giản, dễ dùng, và được chú thích,
cũng như hướng dẫn rất chi tiết trong tài liệu PHP Manual.

×