Giới thiệu
PHP có một số lượng lớn các chức năng tích hợp như toán học, chuỗi, ngày, hàm mảng, v.v ... Cũng có thể xác định một chức năng theo yêu cầu cụ thể. Hàm này được gọi là chức năng do người dùng xác định.
Hàm là một khối có thể tái sử dụng các câu lệnh thực hiện một nhiệm vụ cụ thể. Khối này được xác định với từ khóa chức năng và được đặt tên bắt đầu bằng bảng chữ cái hoặc dấu gạch dưới. Hàm này có thể được gọi từ bất cứ nơi nào trong chương trình bất kỳ số lần.
Cú pháp
//define a function function myfunction($arg1, $arg2, ... $argn) { statement1; statement2; .. .. return $val; } //call function $ret=myfunction($arg1, $arg2, ... $argn);Chức năng có thể được xác định với tùy chọn nhưng bất kỳ số lượng đối số. Tuy nhiên, cùng một số lượng đối số phải được cung cấp trong khi gọi. Cơ thể của chức năng có thể chứa bất kỳ mã PHP hợp lệ nào, tức là các điều kiện, vòng lặp, v.v. (ngay cả các chức năng hoặc lớp khác cũng có thể được xác định bên trong một hàm). Sau khi thực hiện các câu lệnh trong khối, kiểm soát chương trình quay trở lại vị trí mà từ đó nó được gọi bất kể sự hiện diện của câu lệnh cuối cùng của khối chức năng là return. Một biểu thức trước câu lệnh trả về trả về giá trị của nó cho môi trường gọi.
Ví dụ chức năng do người dùng xác định
Trong ví dụ sau đây cho thấy Định nghĩa và gọi đến hàm do USR xác định Sayhello ()
Thí dụ
& nbsp; bản demo trực tiếp
<?php //function definition function sayHello(){ echo "Hello World!"; } //function call sayHello(); ?>Tập lệnh này sẽ tạo ra kết quả sau đây khi chạy từ dòng lệnh -
Đầu ra
Hello World!chức năng với các đối số
Trong ví dụ sau, một hàm được xác định với hai đối số chính thức
Thí dụ
& nbsp; bản demo trực tiếp
<?php function add($arg1, $arg2){ echo $arg1+$arg2 . "\n"; } add(10,20); add("Hello", "World"); ?>Đầu ra
chức năng với các đối số
30 PHP Warning: A non-numeric value encountered in line 3Trong ví dụ sau, một hàm được xác định với hai đối số chính thức
Điều này sẽ tạo ra kết quả sau đây. -
Trong cuộc gọi thứ hai, hai giá trị chuỗi được đưa ra dưới dạng đối số chức năng. Vì PHP không hỗ trợ + toán tử cho chuỗi, nên cảnh báo được phát ra.
Thí dụ
& nbsp; bản demo trực tiếp
<?php function add($arg1, $arg2){ return $arg1+$arg2; } $val=add(10,20); echo "addition:". $val. "\n"; $val=add("10","20"); echo "addition: $val"; ?>Đầu ra
chức năng với các đối số
addition:30 addition:30Trong ví dụ sau, một hàm được xác định với hai đối số chính thức
Điều này sẽ tạo ra kết quả sau đây. -
Trong cuộc gọi thứ hai, hai giá trị chuỗi được đưa ra dưới dạng đối số chức năng. Vì PHP không hỗ trợ + toán tử cho chuỗi, nên cảnh báo được phát ra.
Thí dụ
& nbsp; bản demo trực tiếp
<?php function welcome($user="Guest"){ echo "Hello $user\n"; } //overrides default welcome("admin"); //uses default welcome(); ?>Đầu ra
chức năng với các đối số
Hello admin Hello GuestTrong ví dụ sau, một hàm được xác định với hai đối số chính thức
Điều này sẽ tạo ra kết quả sau đây. -
Trong cuộc gọi thứ hai, hai giá trị chuỗi được đưa ra dưới dạng đối số chức năng. Vì PHP không hỗ trợ + toán tử cho chuỗi, nên cảnh báo được phát ra. ... token. Following example has add() function that adds a list of numbers given as argument
Thí dụ
& nbsp; bản demo trực tiếp
<?php function add(...$numbers){ $ttl=0; foreach ($numbers as $num){ $ttl=$ttl+$num; } return $ttl; } $total=add(10,15,20); echo "total= $total\n"; echo "total=". add(1,2,3,4,5). "\n"; ?>Đầu ra
chức năng với các đối số
<?php //function definition function sayHello(){ echo "Hello World!"; } //function call sayHello(); ?>0Trong ví dụ sau, một hàm được xác định với hai đối số chính thứcfunc_get_args() function. We can run a PHP loop to traverse each value in the list of arguments passed. In that case the function definition doesn't have a formal argument.
Thí dụ
& nbsp; bản demo trực tiếp
<?php //function definition function sayHello(){ echo "Hello World!"; } //function call sayHello(); ?>1Đầu ra
chức năng với các đối số
<?php //function definition function sayHello(){ echo "Hello World!"; } //function call sayHello(); ?>0Trong ví dụ sau, một hàm được xác định với hai đối số chính thức
Điều này sẽ tạo ra kết quả sau đây. -
Thí dụ
& nbsp; bản demo trực tiếp
<?php //function definition function sayHello(){ echo "Hello World!"; } //function call sayHello(); ?>3Tập lệnh này sẽ tạo ra kết quả sau đây khi chạy từ dòng lệnh -
<?php //function definition function sayHello(){ echo "Hello World!"; } //function call sayHello(); ?>4Đầu ra
chức năng với các đối số
<?php //function definition function sayHello(){ echo "Hello World!"; } //function call sayHello(); ?>5Trong ví dụ sau, một hàm được xác định với hai đối số chính thức
Điều này sẽ tạo ra kết quả sau đây. -
Thí dụ
& nbsp; bản demo trực tiếp
<?php //function definition function sayHello(){ echo "Hello World!"; } //function call sayHello(); ?>6Đầu ra
<?php //function definition function sayHello(){ echo "Hello World!"; } //function call sayHello(); ?>7
chức năng với các đối số
- Trong ví dụ sau, một hàm được xác định với hai đối số chính thức
- Điều này sẽ tạo ra kết quả sau đây. -
- Trong cuộc gọi thứ hai, hai giá trị chuỗi được đưa ra dưới dạng đối số chức năng. Vì PHP không hỗ trợ + toán tử cho chuỗi, nên cảnh báo được phát ra.
- chức năng trả về
- Chức năng được xác định của người dùng trong các quy trình ví dụ sau các đối số được cung cấp và trả lại giá trị cho môi trường gọi
- Trong cuộc gọi thứ hai, ngay cả khi các đối số là chuỗi, php dỗ chúng vào số nguyên và thực hiện bổ sung
- chức năng với giá trị đối số mặc định
- Trong khi xác định hàm, giá trị mặc định của đối số có thể được gán. Nếu giá trị không được gán cho Agument như vậy trong khi gọi hàm, mặc định này sẽ được sử dụng để xử lý chức năng bên trong. Trong ví dụ sau, một hàm được xác định với đối số có giá trị mặc định
- Trong cuộc gọi thứ hai, hàm được gọi mà không chuyển giá trị. Trong trường hợp này, đối số người dùng lấy giá trị mặc định của nó.
- chức năng với số lượng đối số biến
- Có thể xác định một hàm có khả năng nhận số lượng đối số biến. Tên của đối số chính thức trong định nghĩa chức năng được tiền tố bởi & nbsp; ... & nbsp; mã thông báo. Ví dụ sau đây có hàm thêm () thêm danh sách các số được đưa ra làm đối số
- Cũng có thể có được một danh sách các đối số được truyền đến một hàm với hàm trợ giúp offunc_get_args (). Chúng ta có thể chạy một vòng lặp PHP để đi qua từng giá trị trong danh sách các đối số được truyền. Trong trường hợp đó, định nghĩa hàm không có đối số chính thức.
- chức năng trong một chức năng khác
- Một hàm có thể được xác định bên trong khối cơ thể của chức năng khác. Tuy nhiên, chức năng bên trong không thể được gọi trước khi hàm bên ngoài được gọi.
- Xóa bình luận để gọi wlcome () bfor hello (). Thông báo lỗi sau tạm dừng chương trình -
- Nhận xét dòng và chạy lại