Hàm là một khối mã có thể tái sử dụng được sử dụng để thực hiện một hành động cụ thể. Chức năng thực hiện một nhiệm vụ cụ thể. Ưu điểm của việc sử dụng hàm là
- Giảm trùng lặp mã
- Phân tách các vấn đề phức tạp thành các phần đơn giản hơn
- Cải thiện sự rõ ràng của mã
- Tái sử dụng mã
- Ẩn thông tin
Có hai loại chức năng cơ bản. Các hàm tích hợp và các hàm do người dùng xác định. Các chức năng tích hợp là một phần của ngôn ngữ PHP. Ví dụ là.
$y] { return $x; } else { return $y; } } $a = 23; $b = 32; $val = maximum[$a, $b]; echo "The max of $a and $b is $val \n";2,
$y] { return $x; } else { return $y; } } $a = 23; $b = 32; $val = maximum[$a, $b]; echo "The max of $a and $b is $val \n";3 hoặc
$y] { return $x; } else { return $y; } } $a = 23; $b = 32; $val = maximum[$a, $b]; echo "The max of $a and $b is $val \n";4. Các chức năng do người dùng xác định được tạo bởi các lập trình viên ứng dụng để đáp ứng nhu cầu của họ. Chúng được tạo bằng từ khóa
$y] { return $x; } else { return $y; } } $a = 23; $b = 32; $val = maximum[$a, $b]; echo "The max of $a and $b is $val \n";5
Một chức năng được tạo ra với từ khóa
$y] { return $x; } else { return $y; } } $a = 23; $b = 32; $val = maximum[$a, $b]; echo "The max of $a and $b is $val \n";5
The function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];Dòng mã này gọi hàm
$ php simple.php This is PHP 8.1.2Từ khóa trả về PHP
Từ khóa
$y] { return $x; } else { return $y; } } $a = 23; $b = 32; $val = maximum[$a, $b]; echo "The max of $a and $b is $val \n";7 được sử dụng để trả về một giá trị từ hàm. Một hàm có thể hoặc không thể trả về một giá trị$y] { return $x; } else { return $y; } } $a = 23; $b = 32; $val = maximum[$a, $b]; echo "The max of $a and $b is $val \n";Chúng ta có một hàm
$y] { return $x; } else { return $y; } } $a = 23; $b = 32; $val = maximum[$a, $b]; echo "The max of $a and $b is $val \n";8. Nó trả về giá trị tối đa cho hai số. Chúng tôi không thể đặt tên cho nó là tối đa, vì đã có một$y] { return $x; } else { return $y; } } $a = 23; $b = 32; $val = maximum[$a, $b]; echo "The max of $a and $b is $val \n";9 tích hợp sẵn . Ví dụ này được tạo ra cho mục đích học tập;if [$x > $y] { return $x; } else { return $y; }Nếu biến
if [$x > $y] { return $x; } else { return $y; }0 lớn hơnif [$x > $y] { return $x; } else { return $y; }1, chúng tôi trả vềif [$x > $y] { return $x; } else { return $y; }0. Nếu không, chúng tôi trở lạiif [$x > $y] { return $x; } else { return $y; }1$val = maximum[$a, $b];Giá trị trả về của hàm
$y] { return $x; } else { return $y; } } $a = 23; $b = 32; $val = maximum[$a, $b]; echo "The max of $a and $b is $val \n";8 được gán cho biếnif [$x > $y] { return $x; } else { return $y; }5echo "The max of $a and $b is $val \n";Chúng tôi in giá trị tối đa của hai số ra bàn điều khiển
Hầu hết các chức năng chấp nhận đối số. Đối số là các giá trị được gửi đến hàm. Các hàm xử lý các giá trị và có thể trả về một số kết quả
In our example, we convert Fahrenheit temperature to Celsius. The
FTC
function accepts one argument$c
, which is the Celsius temperature.$ php fahrenheit.php 212 32 86Các giá trị ẩn PHP
Các đối số trong các hàm PHP có thể có các giá trị ẩn. Một giá trị ẩn được sử dụng nếu không có giá trị nào được cung cấp
Here we created a power function. The function has one argument with an implicit value. We can call the function with one or two arguments.
$ php implicit_value.php 5^2 is 25 5^4 is 625Một hàm có thể chấp nhận số lượng đối số thay đổi. Nói cách khác, đôi khi chúng ta không biết có bao nhiêu đối số sẽ được truyền vào hàm. Hàm
if [$x > $y] { return $x; } else { return $y; }6 trả về một mảng bao gồm các giá trị của một hàmToán tử
if [$x > $y] { return $x; } else { return $y; }7 có sẵn để tạo các hàm biến thiênWe create a
sum
method which can take variable number of arguments. The method calculates the sum of values passed to the method.$sum = 0; foreach [$args as $n] { $sum += $n; } return $sum;Chúng tôi tính toán và trả về tổng của các giá trị
The function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];0Chúng ta chuyển các giá trị ba, bốn và năm cho hàm
if [$x > $y] { return $x; } else { return $y; }8The function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];1The function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];2Biến tĩnh là biến được cấp phát tĩnh, có thời gian tồn tại kéo dài trong toàn bộ quá trình chạy chương trình. Các biến cục bộ mặc định không giữ lại giá trị của chúng trong các cuộc gọi liên tiếp
The function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];3Hàm ẩn danh PHP
Hàm ẩn danh không có tên
The function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];4Lưu ý dấu chấm phẩy sau dấu ngoặc nhọn đóng. Nó là bắt buộc bởi vì cấu trúc là một nhiệm vụ
The function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];5Hàm ẩn danh thường được sử dụng với hàm mảng
The function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];6Trong ví dụ này, chúng tôi lọc các giá trị của một mảng với
if [$x > $y] { return $x; } else { return $y; }9. Chức năng vị ngữ được xác định với một chức năng ẩn danhThe function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];7Các hàm mũi tên cung cấp một cú pháp ngắn gọn hơn cho các hàm ẩn danh. Hàm mũi tên được tạo bằng từ khóa
$val = maximum[$a, $b];0 và chất béoThe function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];8Trong ví dụ này, chúng tôi định nghĩa hai hàm mũi tên
The function keyword is followed by the function name with round brackets. The body of the function lies between the curly brackets. We say that we call a function. If we call a function, the statements inside the function body are executed.
displayVersion[];9$ php simple.php This is PHP 8.1.20Với chức năng mũi tên, mã nhỏ gọn hơn
PHP hỗ trợ hai cách truyền đối số cho hàm. Cách mặc định là truyền đối số theo giá trị. Khi chúng ta truyền đối số theo giá trị, hàm chỉ hoạt động với các bản sao của giá trị. Điều này có thể dẫn đến chi phí hoạt động khi chúng tôi làm việc với lượng lớn dữ liệu
Khi chúng ta truyền giá trị theo tham chiếu, hàm sẽ nhận được tham chiếu đến giá trị thực. Các giá trị ban đầu bị ảnh hưởng khi sửa đổi. Cách truyền giá trị này tiết kiệm thời gian và không gian hơn. Mặt khác, nó dễ bị lỗi hơn.
Chúng ta nên sử dụng cách truyền đối số nào? . Giả sử chúng tôi có một bộ dữ liệu, tiền lương của nhân viên. Nếu chúng tôi muốn tính toán một số thống kê của dữ liệu, chúng tôi không cần sửa đổi chúng. Chúng tôi vượt qua các giá trị. Nếu chúng ta làm việc với lượng dữ liệu lớn và tốc độ tính toán . Nếu chúng tôi muốn sửa đổi dữ liệu, e. g. thực hiện một số giảm hoặc tăng lương, chúng tôi có thể chuyển qua tham khảo
Hai ví dụ sau bao gồm cả hai khái niệm
$ php simple.php This is PHP 8.1.21Lúc đầu, hai biến này được bắt đầu
$ php simple.php This is PHP 8.1.22Chúng tôi gọi hàm
$val = maximum[$a, $b];2. Hàm nhận các biến$val = maximum[$a, $b];3 và$val = maximum[$a, $b];4 làm tham số$ php simple.php This is PHP 8.1.23Bên trong hàm
$val = maximum[$a, $b];2, chúng ta thay đổi các giá trị. Lưu ý rằng các biến$val = maximum[$a, $b];3 và$val = maximum[$a, $b];4 được xác định cục bộ. Chúng chỉ hợp lệ bên trong hàm$val = maximum[$a, $b];2$ php simple.php This is PHP 8.1.24Đầu ra cho thấy các biến ban đầu không bị ảnh hưởng
Ví dụ mã tiếp theo chuyển các giá trị cho hàm theo tham chiếu. Các biến ban đầu được thay đổi bên trong hàm
$val = maximum[$a, $b];2$ php simple.php This is PHP 8.1.25Ví dụ gần giống với ví dụ trước. Ngoại trừ các ký tự dấu và
$ php simple.php This is PHP 8.1.26Ở đây chúng ta thấy rằng hàm
$val = maximum[$a, $b];2 thực sự đã thay đổi giá trị của các biếnĐệ quy, trong toán học và khoa học máy tính, là một phương pháp xác định hàm trong đó hàm được xác định được áp dụng trong định nghĩa của chính nó. Nói cách khác, một hàm đệ quy gọi chính nó để thực hiện công việc của nó. Đệ quy là một thay thế cho phép lặp. Đệ quy là cách tiếp cận chính trong các ngôn ngữ chức năng
Một ví dụ điển hình là phép tính giai thừa
$ php simple.php This is PHP 8.1.27Bên trong phần thân của hàm giai thừa, chúng ta gọi hàm giai thừa với một đối số được sửa đổi. Hàm gọi chính nó
$ php simple.php This is PHP 8.1.28Đây là những kết quả
Tiếp theo chúng ta nói về phạm vi của các biến trong PHP. Phạm vi là phạm vi mà một biến có thể được tham chiếu. Khi chúng ta làm việc với các hàm, có hai phạm vi cơ bản. phạm vi toàn cầu và địa phương. Phạm vi cục bộ còn được gọi là phạm vi chức năng
PHP có sử dụng hàm không?
PHP có hơn 1000 hàm dựng sẵn có thể được gọi trực tiếp từ bên trong tập lệnh để thực hiện một tác vụ cụ thể trong Hàm PHP.Bạn có thể gọi một hàm trong PHP không?
Trong PHP, một hàm được khai báo với từ khóa function được đặt trước tên hàm và việc gọi một hàm trong chương trình được thực hiện bằng cách chỉ cần gọi tên hàm ở bất kỳ đâu. . .Hàm có thể nằm trong hàm PHP không?
Bạn cũng có thể định nghĩa một hàm bên trong một hàm khác và về mặt logic, đây cũng phải là một biến cục bộ nhưng hãy nhớ lại quy tắc rằng tất cả các hàm là toàn cục. Trong PHP, các hàm bên trong là toàn cục và do đó hoạt động giống như thể chúng đã được khai báo bên ngoài bất kỳ hàm chứa nào.