Hướng dẫn php optional argument - đối số tùy chọn php
Thông tin có thể được truyền đến các chức năng thông qua danh sách đối số, đây là danh sách các biểu thức được phân phối bằng dấu phẩy. Các đối số được đánh giá từ trái sang phải, trước khi hàm thực sự được gọi (đánh giá háo hức). Show
PHP hỗ trợ các đối số truyền theo giá trị (mặc định), đi qua tham chiếu và giá trị đối số mặc định. Danh sách đối số có độ dài thay đổi và các đối số được đặt tên cũng được hỗ trợ. Ví dụ số 1 chuyển mảng cho các chức năng
Kể từ Php 8.0.0, danh sách các đối số chức năng có thể bao gồm dấu phẩy kéo dài, sẽ bị bỏ qua. Điều đó đặc biệt hữu ích trong trường hợp danh sách các đối số dài hoặc chứa các tên biến dài, làm cho nó thuận tiện để liệt kê các đối số theo chiều dọc. Ví dụ #2 Danh sách đối số chức năng với dấu phẩy kéo dài
Vượt qua các đối số bằng cách tham khảoTheo mặc định, các đối số hàm được truyền theo giá trị (để nếu giá trị của đối số trong hàm được thay đổi, nó không bị thay đổi bên ngoài hàm). Để cho phép một hàm sửa đổi các đối số của nó, chúng phải được truyền bằng cách tham chiếu. Để có một đối số cho một hàm luôn được truyền bởi tham chiếu, hãy trả một ampersand và) cho tên đối số trong định nghĩa chức năng: Ví dụ #3 Thông số chức năng chuyển qua tham chiếu
Đó là một lỗi để truyền một giá trị như là đối số được cho là được thông qua bởi tham chiếu. Giá trị đối số mặc định Một hàm có thể xác định các giá trị mặc định cho các đối số bằng cách sử dụng cú pháp tương tự như gán một biến. Mặc định chỉ được sử dụng khi tham số không được chỉ định; Cụ thể, lưu ý rằng việc vượt qua Ví dụ #4 Sử dụng các tham số mặc định trong các chức năng
Ví dụ trên sẽ xuất ra: Making a cup of cappuccino. Making a cup of . Making a cup of espresso. Các giá trị tham số mặc định có thể là các giá trị vô hướng, mảng, loại đặc biệt Ví dụ #5 Sử dụng các loại không phân chia làm giá trị mặc định Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 421 Ví dụ #6 Sử dụng các đối tượng làm giá trị mặc định (kể từ Php 8.1.0) Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 422 Giá trị mặc định phải là một biểu thức không đổi, không (ví dụ) một biến, thành viên lớp hoặc lệnh gọi hàm. Lưu ý rằng bất kỳ đối số tùy chọn nên được chỉ định sau bất kỳ đối số bắt buộc nào, nếu không chúng không thể được bỏ qua khỏi các cuộc gọi. Xem xét ví dụ sau: Ví dụ #7 Sử dụng không chính xác đối số chức năng mặc định Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 423 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 424 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 425 Ví dụ trên sẽ xuất ra: Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 42 Các giá trị tham số mặc định có thể là các giá trị vô hướng, mảng, loại đặc biệt Ví dụ #5 Sử dụng các loại không phân chia làm giá trị mặc định Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 426 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 424 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 428 Ví dụ trên sẽ xuất ra: Các giá trị tham số mặc định có thể là các giá trị vô hướng, mảng, loại đặc biệtnull và kể từ Php 8.1.0, các đối tượng sử dụng cú pháp ClassName () mới.Ví dụ #5 Sử dụng các loại không phân chia làm giá trị mặc định Ví dụ #6 Sử dụng các đối tượng làm giá trị mặc định (kể từ Php 8.1.0) Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 429 Making a bowl of raspberry yogurt.0 Making a bowl of raspberry yogurt.1 Ví dụ trên sẽ xuất ra: Making a bowl of raspberry natural yogurt. Các giá trị tham số mặc định có thể là các giá trị vô hướng, mảng, loại đặc biệt Ví dụ #5 Sử dụng các loại không phân chia làm giá trị mặc định Making a bowl of raspberry yogurt.4
Lưu ý rằng bất kỳ đối số tùy chọn nên được chỉ định sau bất kỳ đối số bắt buộc nào, nếu không chúng không thể được bỏ qua khỏi các cuộc gọi. Xem xét ví dụ sau:Ví dụ #7 Sử dụng không chính xác đối số chức năng mặc định
Ví dụ #8 Sử dụng đúng đối số chức năng mặc định
Making a bowl of raspberry yogurt.9 Kể từ Php 8.0.0, các đối số được đặt tên có thể được sử dụng để bỏ qua nhiều tham số tùy chọn. Making a bowl of raspberry natural yogurt.1 Ví dụ trên sẽ xuất ra: Các giá trị tham số mặc định có thể là các giá trị vô hướng, mảng, loại đặc biệt Ví dụ #5 Sử dụng các loại không phân chia làm giá trị mặc định Making a bowl of raspberry natural yogurt.4 Making a bowl of raspberry yogurt.0 Making a bowl of raspberry natural yogurt.6 Ví dụ trên sẽ xuất ra: Các giá trị tham số mặc định có thể là các giá trị vô hướng, mảng, loại đặc biệt Cũng có thể thêm một khai báo loại trước mã thông báo Making a bowl of raspberry yogurt.5. Nếu điều này có mặt, thì tất cả các đối số được ghi lại bởi Making a bowl of raspberry yogurt.5 phải khớp với loại tham số đó. Ví dụ #13 Loại đối số biến được khai báo 3 days Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 21 Ví dụ trên sẽ xuất ra: 3 days Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 2 Cuối cùng, các đối số biến cũng có thể được truyền bằng cách tham chiếu bằng cách tiền tố Making a bowl of raspberry yogurt.5 với một ampersand và ( 3 days Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 23). Các phiên bản cũ của PHPKhông có cú pháp đặc biệt nào được yêu cầu để lưu ý rằng một hàm là variadic; Tuy nhiên, quyền truy cập vào các đối số của hàm phải sử dụng func_num_args (), func_get_arg () và func_get_args ().func_num_args(), func_get_arg() and func_get_args(). Ví dụ đầu tiên ở trên sẽ được thực hiện như sau trong các phiên bản cũ của PHP: Ví dụ #14 Truy cập các đối số biến trong các phiên bản PHP cũ 3 days Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 24 Making a bowl of raspberry yogurt.0 Making a bowl of raspberry natural yogurt.1 Ví dụ trên sẽ xuất ra: Cuối cùng, các đối số biến cũng có thể được truyền bằng cách tham chiếu bằng cách tiền tố Making a bowl of raspberry yogurt. 5 với một ampersand và (3 days Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 2 3).Các phiên bản cũ của PHP Không có cú pháp đặc biệt nào được yêu cầu để lưu ý rằng một hàm là variadic; Tuy nhiên, quyền truy cập vào các đối số của hàm phải sử dụng func_num_args (), func_get_arg () và func_get_args (). Ví dụ đầu tiên ở trên sẽ được thực hiện như sau trong các phiên bản cũ của PHP: 3 days Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 27 Ví dụ #14 Truy cập các đối số biến trong các phiên bản PHP cũ 3 days Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 28 Có tên là đối số Php 8.0.0 được giới thiệu các đối số được đặt tên là một phần mở rộng của các tham số vị trí hiện có. Các đối số được đặt tên cho phép chuyển các đối số đến một hàm dựa trên tên tham số, thay vì vị trí tham số. Điều này làm cho ý nghĩa của việc tự ghi chép đối số, làm cho các đối số độc lập với thứ tự và cho phép bỏ qua các giá trị mặc định một cách tùy ý. 3 days Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 29 Các đối số được đặt tên được truyền bằng cách tiền tố giá trị với tên tham số theo sau là dấu hai chấm. Sử dụng các từ khóa dành riêng làm tên tham số được cho phép. Tên tham số phải là một định danh, chỉ định động không được phép. Ví dụ #15 Cú pháp đối số được đặt tên
Ví dụ #16 Đối số vị trí so với các đối số được đặt tên Thứ tự mà các đối số có tên được thông qua không quan trọng.
Ví dụ #17 Ví dụ tương tự như trên với một thứ tự khác nhau của các tham số Các đối số được đặt tên có thể được kết hợp với các đối số vị trí. Trong trường hợp này, các đối số được đặt tên phải đến sau các đối số vị trí. Cũng có thể chỉ định một số đối số tùy chọn của một hàm, bất kể thứ tự của chúng.
Ví dụ #18 Kết hợp các đối số được đặt tên với các đối số vị trí ¶ Vượt qua cùng một tham số nhiều lần dẫn đến một ngoại lệ lỗi.
Ví dụ #19 Lỗi ném khi vượt qua cùng một tham số nhiều lần
function takes_many_args( 2Kể từ Php 8.1.0, có thể sử dụng các đối số được đặt tên sau khi giải nén các đối số. Một đối số được đặt tên không được ghi đè một đối số đã được giải nén. ¶ Ví dụ #20 Sử dụng các đối số được đặt tên sau khi giải nén
function takes_many_args( 6PHP tại Richardneill Dot org ¶ ¶ 7 năm trước
function add_some_extra(&$string) 0 Lilywhite ¶
function add_some_extra(&$string) 511 thàng trước ¶ Gabriel tại FigDice Dot org ¶
function add_some_extra(&$string) 96 năm trước ¶ Boan Dot Web tại Outlook Dot Com ¶
function add_some_extra(&$string) 54 năm trước ¶ 7 năm trước
function add_some_extra(&$string) 5 Boan Dot Web tại Outlook Dot Com ¶
function makecoffee($type = "cappuccino") 74 năm trước ¶ Lilywhite ¶
function add_some_extra(&$string) 511 thàng trước ¶ Gabriel tại FigDice Dot org ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4201 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4202
function add_some_extra(&$string) 56 năm trước ¶ Boan Dot Web tại Outlook Dot Com ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4204 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4205 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4206 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4207 4 năm trước
function add_some_extra(&$string) 5Hayley Watson ¶ ¶ 5 năm trước Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4210 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4211 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4212 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4213 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4214 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4215 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4216
function add_some_extra(&$string) 5Sergio Santana: Ssantana tại tlaloc dot imta dot mx ¶ ¶ 16 năm trước Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4218 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4219 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4220 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4221 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4222 Catman tại esteticas dot se ¶ ¶ JCAPLAN tại Bogus Dot Amazon Dot Com ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4223 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4224 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4225 Thông tin tại Keraweb dot nl ¶ ¶ Horst Schirmeier ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4226 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4227
function add_some_extra(&$string) 58 năm trước ¶ Lilywhite ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4229 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4230 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4231 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4232
function add_some_extra(&$string) 511 thàng trước ¶ Gabriel tại FigDice Dot org ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4234 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4235 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4236 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4237 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4238
function add_some_extra(&$string) 56 năm trước ¶ Boan Dot Web tại Outlook Dot Com ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4240 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4241 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4242 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4243 4 năm trước ¶ Hayley Watson ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4244 |