Tôi không tin rằng có giới hạn về số lượng tham số bạn có thể gửi vào một hàm. Tuy nhiên, theo tôi một khi bạn vượt qua khoảng 3 hoặc 4, tôi có xu hướng chuyển sang gửi một mảng hoặc đối tượng như vậy:
$send_values = array[
'value1' = 1,
'value2' = 3,
'value3' = 2,
'value4' = 5,
'value5' = 1,
];
function Myfunction[$input] {
}
Bằng cách này, bạn không phải lo lắng về thứ tự chính xác mà bạn đang gửi trong các biến. Cộng với việc gửi giá trị null dễ dàng hơn nhiều. Bạn chỉ có thể sử dụng isset[$input['value2']]
để xem một giá trị có được gửi không. Nhưng nếu mỗi được đặt là trong biến độc lập, bạn có vấn đề này:
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
Trong trường hợp này, value1 và value2 được yêu cầu được gửi vào, nhưng giá trị 3,4 và 5 có thể là null. Vì vậy, nếu bạn chỉ gửi hai giá trị đầu tiên, bạn có thể làm điều này:
Myfunction[1,2];
Tuy nhiên, giả sử bạn cần gửi trong value1 value2 và value5, bây giờ bạn phải đảm bảo rằng bạn gửi các giá trị null cho value3 và value4, để giá trị5 được tạo ra với dữ liệu không phải giá trị3:
Myfunction[1,2,null,null,5];
Theo tôi, điều này chỉ có thể biến thành một cụm và có thể trở nên khó hiểu. Đó là tất cả các sở thích cá nhân, có một số câu trả lời tốt về câu hỏi này: Có bao nhiêu tham số quá nhiều?
5 tháng trước
Tianyiw tại VIP Dot qq dot com ¶
1 tháng trước
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
0rsperduta tại gmail dot com ¶
igorsantos07 tại gmail dot com ¶
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
1John ¶
15 năm trước
Dmitry Dot Balabka tại Gmail Dot Com ¶
3 năm trước
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
2Shaman_master tại danh sách dot ru ¶
2 năm trước
Một chức năng có thể có bao nhiêu tham số?
3 does not assign the default
value. function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
Hàm chính có thể được xác định không có tham số hoặc với hai tham số [để chuyển các đối số dòng lệnh cho một chương trình khi nó bắt đầu thực thi]. Hai tham số được gọi ở đây là ARGC và ARGV, mặc dù bất kỳ tên nào cũng có thể được sử dụng vì chúng là cục bộ cho chức năng mà chúng được khai báo.
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
4Một chức năng có thể có 3 tham số?
Making a cup of cappuccino. Making a cup of . Making a cup of espresso.
Bạn có thể xác định nhiều tham số như bạn có thể cần, nhưng quá nhiều trong số chúng sẽ làm cho thói quen của bạn khó hiểu và duy trì. Tất nhiên, bạn có thể sử dụng một biến có cấu trúc như một cách giải quyết: đặt tất cả các biến đó trong một cấu trúc duy nhất và chuyển nó sang thói quen.arrays, the special type
3, and as of PHP 8.1.0, objects using the new ClassName[] syntax. function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
Ví dụ #5 Sử dụng các loại không phân chia làm giá trị mặc định
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
6Ví dụ #6 Sử dụng các đối tượng làm giá trị mặc định [kể từ Php 8.1.0]
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
7Giá 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
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
8function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
9Myfunction[1,2];
0Ví 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
Bây giờ, so sánh những điều trên với điều này:
Ví dụ #8 Sử dụng đúng đối số chức năng mặc định
Myfunction[1,2];
1function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
9Myfunction[1,2];
3Ví dụ trên sẽ xuất ra:
Making a bowl of raspberry yogurt.
Bây giờ, so sánh những điều trên với điều này:
Ví dụ #8 Sử dụng đúng đối số chức năng mặc định
Myfunction[1,2];
4Myfunction[1,2];
5Myfunction[1,2];
6Ví dụ trên sẽ xuất ra:
Making a bowl of raspberry natural yogurt.
Bây giờ, so sánh những điều trên với điều này:
3 default makes the type implicitly nullable. This usage remains allowed, though it is recommended to use an explicit nullable type instead. function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
Ví dụ #8 Sử dụng đúng đối số chức năng mặc định
Myfunction[1,2];
9Kể 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.: As of PHP 7.1.0, omitting a parameter which does not specify a default throws an ArgumentCountError; in previous versions it raised a Warning.
Ví dụ #9 Sử dụng đúng đối số chức năng mặc định: Arguments that are passed by reference may have a default value.
Kể từ Php 8.0.0, tuyên bố các đối số bắt buộc sau khi các đối số tùy chọn bị phản đối. Điều này thường có thể được giải quyết bằng cách bỏ giá trị mặc định, vì nó sẽ không bao giờ được sử dụng. Một ngoại lệ cho quy tắc này là các đối số của Mẫu Myfunction[1,2];
7, trong đó mặc định function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
3 làm cho loại này không thể vượt qua được. Việc sử dụng này vẫn được phép, mặc dù nên sử dụng một loại có thể điều chỉnh rõ ràng.
Myfunction[1,2];
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
Ví dụ #10 Khai báo các đối số tùy chọn sau các đối số bắt buộc
Lưu ý: Kể từ Php 7.1.0, việc bỏ qua một tham số không chỉ định một mặc định ném một archarchChoolror; Trong các phiên bản trước, nó đã nêu ra một cảnh báo.: It is also possible to achieve variable-length arguments by using func_num_args[], func_get_arg[], and func_get_args[] functions. This technique is not recommended as it was used prior to the introduction of the
0 token.Myfunction[1,2,null,null,5];
Lưu ý: Các đối số được truyền qua tham chiếu có thể có giá trị mặc định.
Danh sách đối số có độ dài thay đổi
Myfunction[1,2,null,null,5];
4Myfunction[1,2];
5Myfunction[1,2,null,null,5];
6Ví dụ trên sẽ xuất ra:
Bây giờ, so sánh những điều trên với điều này:array or Traversable variable or literal into the argument list:
Ví dụ #8 Sử dụng đúng đối số chức năng mặc định
Myfunction[1,2,null,null,5];
9Myfunction[1,2];
5Making a cup of cappuccino. Making a cup of . Making a cup of espresso.1
Ví dụ trên sẽ xuất ra:
Bây giờ, so sánh những điều trên với điều này:
Ví dụ #8 Sử dụng đúng đối số chức năng mặc định
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 cup of cappuccino. Making a cup of . Making a cup of espresso.6
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
Bây giờ, so sánh những điều trên với điều này:
Ví dụ #8 Sử dụng đúng đối số chức năng mặc định
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.func_num_args[], func_get_arg[] and func_get_args[].
Ví dụ #9 Sử dụng đúng đối số chức năng mặc định
Kể từ Php 8.0.0, tuyên bố các đối số bắt buộc sau khi các đối số tùy chọn bị phản đối. Điều này thường có thể được giải quyết bằng cách bỏ giá trị mặc định, vì nó sẽ không bao giờ được sử dụng. Một ngoại lệ cho quy tắc này là các đối số của Mẫu
7, trong đó mặc định Myfunction[1,2];
3 làm cho loại này không thể vượt qua được. Việc sử dụng này vẫn được phép, mặc dù nên sử dụng một loại có thể điều chỉnh rõ ràng.function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
Making a cup of cappuccino. Making a cup of . Making a cup of espresso.9
Myfunction[1,2];
5Myfunction[1,2,null,null,5];
6Ví dụ trên sẽ xuất ra:
Bây giờ, so sánh những điều trên với điều này:
Ví dụ #8 Sử dụng đúng đối số chức năng mặc định
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.
Ví dụ #9 Sử dụng đúng đố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 422
Kể từ Php 8.0.0, tuyên bố các đối số bắt buộc sau khi các đối số tùy chọn bị phản đối. Điều này thường có thể được giải quyết bằng cách bỏ giá trị mặc định, vì nó sẽ không bao giờ được sử dụng. Một ngoại lệ cho quy tắc này là các đối số của Mẫu
7, trong đó mặc định Myfunction[1,2];
3 làm cho loại này không thể vượt qua được. Việc sử dụng này vẫn được phép, mặc dù nên sử dụng một loại có thể điều chỉnh rõ ràng.function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt[], 1 passed in example.php on line 423
Ví dụ #10 Khai báo các đối số tùy chọn sau các đối số bắt buộc
Lưu ý: Kể từ Php 7.1.0, việc bỏ qua một tham số không chỉ định một mặc định ném một archarchChoolror; Trong các phiên bản trước, nó đã nêu ra một cảnh báo.
Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt[], 1 passed in example.php on line 424
Lưu ý: Các đối số được truyền qua tham chiếu có thể có giá trị mặc định.
Ví dụ #18 Kết hợp các đối số được đặt tên với các đối số vị trí
Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt[], 1 passed in example.php on line 425
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
Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt[], 1 passed in example.php on line 426
Kể 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
Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt[], 1 passed in example.php on line 427
PHP tại Richardneill Dot org ¶ ¶
7 năm trước
Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt[], 1 passed in example.php on line 428
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
Making a bowl of raspberry yogurt.2
Making a bowl of raspberry yogurt.3
Making a bowl of raspberry yogurt.4
Making a bowl of raspberry yogurt.5
Making a bowl of raspberry yogurt.6
Making a bowl of raspberry yogurt.7
Lilywhite ¶ ¶
1 năm trước
Making a bowl of raspberry yogurt.8
Making a bowl of raspberry yogurt.9
Making a bowl of raspberry natural yogurt.0
Making a bowl of raspberry natural yogurt.1
Gabriel tại FigDice Dot org ¶ ¶
6 năm trước
Making a bowl of raspberry natural yogurt.2
Making a bowl of raspberry natural yogurt.3
Making a bowl of raspberry natural yogurt.4
Making a bowl of raspberry natural yogurt.5
Boan Dot Web tại Outlook Dot Com ¶ ¶
4 năm trước
Making a bowl of raspberry natural yogurt.6
Making a bowl of raspberry natural yogurt.7
Making a bowl of raspberry natural yogurt.8
Making a bowl of raspberry natural yogurt.9
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 20
Hayley Watson ¶ ¶
5 năm trướ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 21
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 22
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
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
Sergio Santana: Ssantana tại tlaloc dot imta dot mx ¶ ¶
16 năm trướ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 25
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 26
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
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
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
isset[$input['value2']]
0
isset[$input['value2']]
1
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 20
Catman tại esteticas dot se ¶ ¶
6 năm trước
isset[$input['value2']]
3
isset[$input['value2']]
4
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 20
Boan Dot Web tại Outlook Dot Com ¶ ¶
16 năm trước
isset[$input['value2']]
6
isset[$input['value2']]
7
isset[$input['value2']]
8
isset[$input['value2']]
9
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
00Making a bowl of raspberry natural yogurt.4
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
02Catman tại esteticas dot se ¶ ¶
5 năm trước
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
03function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
043 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 20
Hayley Watson ¶ ¶
5 năm trước
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
06function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
073 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 20
Sergio Santana: Ssantana tại tlaloc dot imta dot mx ¶ ¶
16 năm trước
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
09function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
10function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
11function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
12function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
133 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 20
Catman tại esteticas dot se ¶ ¶
JCAPLAN tại Bogus Dot Amazon Dot Com ¶
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
15function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
16function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
17Thông tin tại Keraweb dot nl ¶ ¶
Horst Schirmeier ¶
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
18function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
19function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
20function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
21function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
22function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
23function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
243 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 20
8 năm trước ¶
Simmo ở 9000 chấm 000
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
26function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
27function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
28function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
29function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
307 tháng trước ¶
Tesdy14 tại gmail dot com
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
3111 thàng trước ¶
1 năm trước
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
32function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
333 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 20
Gabriel tại FigDice Dot org ¶ ¶
4 năm trước
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
35function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
36function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
37function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
383 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 20
Hayley Watson ¶ ¶
5 năm trước
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
40function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
41function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
42function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
43function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
443 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 20
Sergio Santana: Ssantana tại tlaloc dot imta dot mx ¶ ¶
16 năm trước
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
46function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
47function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
48function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
49Catman tại esteticas dot se ¶ ¶
JCAPLAN tại Bogus Dot Amazon Dot Com ¶
function Myfunction[value1,value2,value3=null,value4=null,value5=null] {
}
50