Hàm Trong Lập Trình PHP
Có thể bạn quan tâm
- Khái niệm hàm
- Tham số của hàm
- Tham số mặc định
- Giá trị trả về
- Tham số tham chiếu
- Gọi hàm động
- Hàm function_exists kiểm tra hàm tồn tại
- Không cố định tham số
Khái niệm hàm trong PHP
Hàm (function) là một khối chứa các câu lệnh (statement), mục đích là sử dụng khối này nhiều lần trong chương trình. Hàm không thi ngay, mà bạn muốn thi hành hàm ở chỗ nào thì phải gọi hàm theo tên của nó ở chỗ đó. Hàm do bạn tự định nghĩa có dạng như sau:
function functionName() { // code thực thi }functionName là tên hàm, tên bắt đầu bằng một ký tự hoặc gạch dưới _, nhưng không được bắt đầu bằng số hay ký tự đặc biệt. Tên hàm không phân biệt chữ in hoa - in thường (khác với tên biến trong PHP).
Kiểm traVí dụ sau tạo một hàm helloWorld(). Ký hiệu { bắt đầu thân hàm.
Để gọi hàm, thật đơn giản viết ra tên hàm: helloWorld
. function helloWorld() { echo "Hello World!"; } helloWorld(); //gọi hàm //In ra "Hello World!" Kiểm traTham số của hàm
Các dữ liệu chuyển tới cho hàm (truyền cho hàm) thông qua đối số của hàm, chúng có vai trò như là biến. Các đối số được chỉ ra sau tên hàm và nằm trong (), ví dụ hàm sau tính phép nhân của hai số truyền vào hàm.
function nhanHaiso($so1, $so2) { $ketqua = $so1 * $so2; echo $ketqua; } nhanHaiso(2,5); //kết quả 10Như ví dụ trên $so1, $so2 là tham số của hàm, bạn muốn có bao nhiêu tham số cũng được - chúng cách nhau bởi dấu ,. Tham số nếu cần kiểm soát kiểu nghiêm ngặt, khi có thể khai báo kiểu dữ liệu cho nó.
function nhanBaiso(float $so1, float $so2, float $so3) { $ketqua = $so1 * $so2 * $so3; echo $ketqua; } nhanBaiso(2,5,2); //kết quả 20Khi định nghĩa một hàm, các biến biểu diễn giá trị sẽ chuyển cho hàm xử lý được gọi là tham số parameter. Khi sử dụng hàm, các giá trị bạn chuyển đến cho hàm gọi là đối số argument.
Kiểm traTham số mặc định của hàm
Khi khai báo các tham số hàm, bạn có thể gán luôn cho nó một giá trị để khi gọi hàm viết thiếu tham số này thì hàm được truyền giá trị mặc định đó. Các tham số mặc định phải viết sau các tham số không có giá trị mặc định
function setNam(string $name='noname') { echo "Name is ".$name; } setNam('PHP'); // Name is PHP setNam(); // Name is nonameKhi bạn sử dụng hàm có tham số mặc định như vậy, bạn nên sắp xếp các tham số mặc định ở phía bên phải.
Kiểm traGiá trị trả về của hàm, mệnh đề return trong hàm
Một hàm có thể trả về một giá trị bằng câu lệnh return $value; với $value là giá trị trả về. Trong hàm nếu gặp lệnh return hàm sẽ dừng thi hành tại đó và gửi giá trị trả về cho nơi gọi hàm.
function phepnhan($num1, $num2) { $r = $num1 * $num2; return $r; } echo phepnhan(3,4); //Kết quả in ra: 12Một hàm không có câu lệnh return thì giá trị trả về là NULL, hàm không thể trả về nhiều giá trị, nhưng nếu muốn bạn có thể trả về một mảng. Hàm có mệnh đề return; nhưng không có giá trị thì cũng trả về NULL
Bạn cũng có thể chỉ rõ kiểu trả về của một hàm, với cú pháp:
function functionName() : kiểu_trả_về (void, int, string, array ...) { // code thực thi } Kiểm traTruyền tham số dạng tham chiếu cho hàm
Mặc định hàm PHP truyền tham số dạng tham trị (trừ các object), nghĩa là giá trị được sao chép vào tham số. Nếu muốn truyền tham số dạng tham chiếu, tức tên tham số và tên biến truyền vào cùng trỏ tới một khu vực nhớ giá trị, thì tên biến truyền cho hàm cho thêm ký hiệu &
Xem ví dụ sau: Hàm addFive() đơn giản là cộng thêm năm vào giá trị đối số và trả về kết quả.
function addFive($number) { $number += 5; return $number; } // VÍ DỤ KHI TRUYỀN THAM SỐ THAM TRỊ $a = 10; echo addFive($a) echo '<br>'; echo $a; /* Kết quả in ra là : 15 (giá trị hàm trả về, tức là giá trị $number trong hàm) 10 (giá trị của $a bên ngoài hàm) ==> Khi gọi addFile truyền $a cho nó, giá trị của $a được sao chép vào tham số $number của hàm, hàm không tác động gì đến $a */ // VÍ DỤ KHI TRUYỀN THAM SỐ THAM CHIẾU echo addFive(&$a) echo '<br>'; echo $a; /* Kết quả in ra là : 15 (giá trị hàm trả về, tức là giá trị $number cũng chính là biến $a) 15 (giá trị $a, đi qua hàm bị biến đổi) ==> Khi gọi addFile truyền &$a cho nó, thì $number tham chiếu đến chính biến $a (bộ nhớ) chứ không hề sao chép giá trị, do vậy các phép gán với $number chính là gán cho $a ở bên ngoài hàm */Gọi hàm động
Động ở đây nghĩa có thể lưu tên hàm như một chuỗi và gọi hàm thông qua chuỗi này. Ví dụ hàm addFive và phepnhan ở trên.
//Cách gọi thông thường: $a = 5; echo phepnhan(5,6); echo addFive($a); //Gọi thông qua một biến lưu tên hàm. $func1 = 'phepnhan'; $func2 = 'addFive'; echo $func1(5,6); //Từ khóa » Hàm Có Thể Trả Về Nhiều Giá Trị
-
Cơ Bản Về Hàm Và Giá Trị Trả Về (Basic Of Functions And Return Values)
-
Hàm Có Thể Trả Về Nhiều Giá Trị Không? - Cộng đồng C Việt
-
7.3 Hàm Trả Về Giá Trị Hoặc Tham Chiếu - Khóa Học C++
-
Hàm VLOOKUP Nâng Cao, Tra Cứu Trả Về Nhiều Giá Trị
-
Làm Sao để Trả Về Hai Giá Trị Trong Cùng Một Hàm C/C++?
-
Sử Dụng Các Hàm IF Với AND, OR Và NOT - Microsoft Support
-
Hàm IF – Các Công Thức được Kết Hợp Với Nhau Và Tránh Các Rắc Rối
-
Trả Về Nhiều Giá Trị Từ Một Hàm Với C# - 2KVN
-
Cách Trả Về Nhiều Giá Trị Từ Một Hàm Trong JavaScript - Tech Wiki
-
[Tự Học C++] Tìm Hiểu Hàm Trả Về Giá Trị »
-
Làm Cách Nào để Vlookup Trả Về Nhiều Giá Trị Trong Một ô Trong Excel?
-
Làm Cách Nào để Trả Về Nhiều Giá Trị Từ Một Hàm Trong C?
-
Return Trong C
-
Thủ Tục được Lưu Trữ Có Thể Trả Về Giá Trị Trong Oracle Không?