Cách khai báo và sử dụng hàm (function) trong PHP

1) Hàm là gì !? - Hàm là một tập hợp gồm nhiều câu lệnh, các câu lệnh này được sắp xếp theo một thứ tự xác định để xây dựng thành một chức năng cụ thể và mỗi hàm sẽ có một cái tên. Ví dụ Đoạn mã bên dưới, chúng ta có một hàm tên là GioiThieuBanThan. Hàm này gồm ba câu lệnh với ...

1) Hàm là gì !?

- Hàm là một tập hợp gồm nhiều câu lệnh, các câu lệnh này được sắp xếp theo một thứ tự xác định để xây dựng thành một chức năng cụ thể và mỗi hàm sẽ có một cái tên.

Ví dụ
  • Đoạn mã bên dưới, chúng ta có một hàm tên là GioiThieuBanThan.
  • Hàm này gồm ba câu lệnh với chức năng hiển thị một câu giới thiệu về bản thân.
<?php function GioiThieuBanThan(){ $name = "Nguyễn Thành Nhân"; $year = 1993; echo "<p>Tôi tên là $name sinh năm $year</p>"; } ?>

- Một hàm (hay nói cách khác là các câu lệnh bên trong hàm) sẽ không tự động được thực thi.

- Hàm chỉ thực thi khi nó được gọi đến tên

Ví dụ

- Câu lệnh nằm ở dòng thứ bảy chính là câu lệnh gọi hàm GioiThieuBanThan để cho nó thực thi

<?php function GioiThieuBanThan(){ $name = "Nguyễn Thành Nhân"; $year = 1993; echo "<p>Tôi tên là $name sinh năm $year</p>"; } GioiThieuBanThan(); ?>
Xem ví dụ

- Lưu ý: Một hàm có thể được gọi nhiều lần (hay nói cách khác là không giới hạn số lần gọi hàm)

Ví dụ

- Hàm GioiThieuBanThan bên dưới được gọi đến ba lần.

<?php function GioiThieuBanThan(){ $name = "Nguyễn Thành Nhân"; $year = 1993; echo "<p>Tôi tên là $name sinh năm $year</p>"; } GioiThieuBanThan(); GioiThieuBanThan(); GioiThieuBanThan(); ?>
Xem ví dụ

2) Phân loại hàm

- Trong PHP, hàm được chia làm hai loại: hàm không có tham số & hàm có tham số

- Hàm không có tham số là loại hàm mà kết quả thực thi của nó luôn luôn không thay đổi.

Ví dụ
  • Hàm GioiThieuBanThan bên dưới là một hàm không có tham số.
  • Kết quả thực thi của nó luôn hiển thị dòng chữ "Tôi tên là Nguyễn Thành Nhân sinh năm 1993"
<?php function GioiThieuBanThan(){ echo "<p>Tôi tên là Nguyễn Thành Nhân sinh năm 1993</p>"; } GioiThieuBanThan(); //Tôi tên là Nguyễn Thành Nhân sinh năm 1993 GioiThieuBanThan(); //Tôi tên là Nguyễn Thành Nhân sinh năm 1993 GioiThieuBanThan(); //Tôi tên là Nguyễn Thành Nhân sinh năm 1993 ?>
Xem ví dụ

- Hàm có tham số là loại hàm mà khi gọi hàm ta phải truyền giá trị vào cho nó. Tùy vào giá trị được truyền mà hàm sẽ thực thi và cho ra kết quả khác nhau.

- Lưu ý: Tham số có ý nghĩa tương tự như biến. Tuy nhiên, nó chỉ có thể sử dụng bên trong hàm mà nó được khai báo.

Ví dụ

- Hàm GioiThieuBanThan bên dưới có hai tham số là name & year

- Về chức năng, hàm sẽ hiển thị lên màn hình một câu với nội dung là:

"Tôi tên là giá trị của tham số name sinh năm giá trị của tham số year"

- (1) Trong lần gọi hàm đầu tiên:

  • tham số name được truyền giá trị là Trình Giảo Kim
  • tham số year được truyền giá trị là 1993
  • ==> Hàm sẽ hiển thị câu "Tôi tên là Trình Giảo Kim sinh năm 1993"

- (2) Trong lần gọi hàm thứ hai:

  • tham số name được truyền giá trị là La Thành
  • tham số year được truyền giá trị là 1989
  • ==> Hàm sẽ hiển thị câu "Tôi tên là La Thành sinh năm 1989"

- (3) Trong lần gọi hàm thứ ba:

  • tham số name được truyền giá trị là Tần Thúc Bảo
  • tham số year được truyền giá trị là 1985
  • ==> Hàm sẽ hiển thị câu "Tôi tên là Tần Thúc Bảo sinh năm 1985"
<?php function GioiThieuBanThan($name, $year){ echo "<p>Tôi tên là $name sinh năm $year</p>"; } GioiThieuBanThan("Trình Giảo Kim", 1993); //Tôi tên là Trình Giảo Kim sinh năm 1993 GioiThieuBanThan("La Thành", 1989); //Tôi tên là La Thành sinh năm 1989 GioiThieuBanThan("Tần Thúc Bảo", 1985); //Tôi tên là Tần Thúc Bảo sinh năm 1985 ?>
Xem ví dụ

3) Cách khai báo và gọi hàm không có tham số

- Để khai báo (khởi tạo) một hàm thuộc thoại không có tham số, ta sử dụng cú pháp như sau:

function tên hàm(){ //Danh sách các câu lệnh của hàm }

- Để gọi một hàm thuộc loại không có tham số, ta sử dụng cú pháp:

tên hàm()
Ví dụ
  • Ba câu lệnh nằm ở dòng 2, 3, 4 dùng để khai báo một hàm có tên là GioiThieuBanThan.
  • Câu lệnh nằm ở dòng thứ 5 dùng để gọi đến hàm GioiThieuBanThan cho nó thực thi.
<?php function GioiThieuBanThan(){ echo "Tôi tên là Nguyễn Thành Nhân sinh năm 1993"; } GioiThieuBanThan(); ?>
Xem ví dụ

4) Cách khai báo và gọi hàm có tham số

- Để khai báo một hàm thuộc thoại có tham số, ta sử dụng cú pháp như sau:

function tên hàm(tham số thứ nhất, tham số thứ hai, tham số thứ ba, ....) { //Danh sách các câu lệnh của hàm }

- Tham số có ý nghĩa tương tự như biến, tuy nhiên nó chỉ có thể sử dụng bên trong hàm mà nó được khai báo.

- Đối với hàm có tham số, khi gọi hàm ta phải truyền giá trị cho các tham số (hành động này cũng tương tự như việc gán giá trị cho biến) với cú pháp như sau:

Ví dụ
  • Ba câu lệnh nằm ở dòng 2, 3, 4 dùng để khai báo một hàm có tên là GioiThieuBanThan.
  • (hàm này có hai tham số là nameyear)
  • Ba câu lệnh nằm ở ba dòng 5, 6, 7 dùng để gọi đến hàm GioiThieuBanThan cho nó thực thi.
  • (trong mỗi lần gọi hàm, giá trị của tham số được truyền vào là khác nhau)
<?php function GioiThieuBanThan($name, $year){ echo "<p>Tôi tên là $name sinh năm $year</p>"; } GioiThieuBanThan("Trình Giảo Kim", 1993); GioiThieuBanThan("La Thành", 1989); GioiThieuBanThan("Tần Thúc Bảo", 1985); ?>
Xem ví dụ

- Ngoài ra, ta có thể gán giá trị mặc định cho các tham số trong lúc khai báo. Khi gọi hàm, nếu không truyền giá trị cho các tham số thì các tham số sẽ nhận những giá trị mặc định này.

Ví dụ
<?php function GioiThieuBanThan($name = "Nguyễn Thành Nhân", $year = 1993){ echo "<p>Tôi tên là $name sinh năm $year</p>"; } GioiThieuBanThan(); GioiThieuBanThan("La Thành"); GioiThieuBanThan("Tần Thúc Bảo", 1985); ?>
Xem ví dụ

5) Lệnh return

- Lệnh return dùng để trả về cho hàm một giá trị.

(Sau khi thực thi xong, hàm sẽ có một giá trị, lúc đó nó có thể được sử dụng giống như một biến)

Ví dụ 1
<?php function number(){ return (10*10 - 50); } $result_01 = number(); $result_02 = 7 + number() - 30; $result_03 = "Hello: " . number(); ?>
Xem ví dụ
Ví dụ 2
<?php function number($a, $b){ return ($a+$b)*2; } $result_01 = number(5,10); $result_02 = number(2,8) - 5; $result_03 = 5*number(1,4) - 49; ?>
Xem ví dụ
Ví dụ 3
<?php function ThongTin($name, $year){ $thongtin = "- Họ tên: $name <br>- Năm sinh: $year"; return $thongtin; } $SinhVien = "SINH VIÊN<hr>" . ThongTin("Nguyễn Thành Nhân", 1993); echo $SinhVien; ?>
Xem ví dụ

- Lưu ý: Trong một hàm, sau khi thực thi xong lệnh return thì hàm sẽ kết thúc (tức là những câu lệnh nằm phía sau lệnh return sẽ không được thực thi). Cho nên trong một hàm, lệnh return cần phải được đặt ở vị trí cuối cùng.

0