Web Cơ Bản

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

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 đượ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ể, mỗi hàm sẽ có một cái tên.

- Đoạn mã bên dưới dùng để khai báo một hàm có tên là GioiThieuBanThan, hàm này gồm có ba câu lệnh với chức năng là 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 sẽ không tự động thực thi, nó chỉ được thực thi khi được “gọi tên”.

- Trong đoạn mã bên dưới, câu lệnh ở dòng thứ bảy dùng để gọi hàm GioiThieuBanThan 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();
?>

- 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)

- 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();
?>

Phân loại hàm

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

- Hàm không có tham số là loại hàm khi được thực thi sẽ luôn cho ra cùng một kết quả (tức là kết quả không đổi)

- 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ó sẽ luôn luôn là 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
?>

- Hàm có tham số là loại hàm mà khi gọi thực thi, ta phải truyền giá trị 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.

- Hàm GioiThieuBanThan bên dưới có hai tham số là name & year, chức năng của nó là hiển thị lên màn hình một câu với nội dung có cấu trúc là: “Tôi tên là giá trị của tham số name sinh năm giá trị của tham số year

- 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”, nên kết quả thực thi của nó sẽ là hiển thị câu “Tôi tên là Trình Giảo Kim sinh năm 1993”

<?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
?>

Cách khai báo & gọi một hàm loại “không có tham số”

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

function TênHàm(){
	//Some code
}

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

TênHàm();

Cách khai báo & gọi một hàm loại “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ênHàm(tham số 1, tham số 2, tham số 3){
	//Some code
}

- Tham số có ý nghĩa tương tự như biến, nhưng 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)

- Lưu ý: Chúng 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 ta 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.

<?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);
?>

Lệnh return

- Lệnh return dùng để trả về cho hàm một giá trị (sau khi hàm 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)

<?php
	function number(){
		return (10*10 - 50);
	}
	$result_01 = number();
	$result_02 = 7 + number() - 30;
	$result_03 = "Hello: " . number();
?>
<?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;
?>
<?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;
?>

- 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.