Hướng dẫn dynamic parameter in function in php - tham số động trong hàm trong php
Xem Show
Chỉnh sửa 1 Khi bạn gọi 0 không biết rằng đối số đầu tiên đại diện cho biến 1 chẳng hạn. Khi bạn biết mỗi chỉ mục số đại diện cho những gì bạn có thể làm điều này (hoặc tương tự):
Nếu tôi muốn một biến cụ thể, tôi có thể làm cho các biến khác: 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). 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 2Kể 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 3Vượ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 4Đó 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 địnhMộ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 5 không gán giá trị mặc định. 5 does not assign the default
value. Ví dụ #4 Sử dụng các tham số mặc định trong các chức năng 6Ví 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 5 và kể từ Php 8.1.0, các đối tượng sử dụng cú pháp ClassName () mới.arrays, the special type 5, and as of PHP 8.1.0, objects using the new ClassName() syntax. Ví dụ #5 Sử dụng các loại không phân chia làm giá trị mặc định 8Ví dụ #6 Sử dụng các đối tượng làm giá trị mặc định (kể từ Php 8.1.0) 9Giá 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 0 1 2Ví 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 5 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 3 1 5Ví dụ trên sẽ xuất ra: Making a bowl of raspberry 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 5 và kể từ Php 8.1.0, các đối tượng sử dụng cú pháp ClassName () mới.Ví dụ #9 Sử dụng đúng đối số chức năng mặc định 6 7 8Ví dụ trên sẽ xuất ra: Making a bowl of raspberry natural yogurt. 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 9, trong đó mặc định 5 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. 5 default makes the type implicitly nullable. This usage remains allowed, though it is recommended to use an explicit nullable type instead. Ví dụ #10 Khai báo các đối số tùy chọn sau các đối số bắt buộc Making a cup of cappuccino. Making a cup of . Making a cup of espresso.1
Danh sách đối số có độ dài thay đổiPHP có hỗ trợ cho các danh sách đối số có độ dài thay đổi trong các hàm do người dùng xác định bằng cách sử dụng mã thông báo Making a cup of cappuccino. Making a cup of . Making a cup of espresso.2.
Danh sách đối số có thể bao gồm mã thông báo Making a cup of cappuccino. Making a cup of . Making a cup of espresso.2 để biểu thị rằng hàm chấp nhận một số lượng đối số biến. Các đối số sẽ được chuyển vào biến đã cho dưới dạng một mảng; Ví dụ: Ví dụ #11 Sử dụng Making a cup of cappuccino. Making a cup of . Making a cup of espresso.6 7Making a cup of cappuccino. Making a cup of . Making a cup of espresso.8 Ví dụ trên sẽ xuất ra: 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 9, trong đó mặc định 5 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.array or Traversable variable or literal into the argument list: Ví dụ #10 Khai báo các đối số tùy chọn sau các đối số bắt buộc Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 421 7Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 423 Ví dụ trên sẽ xuất ra: 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. 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 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: 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 PHP có hỗ trợ cho các danh sách đối số có độ dài thay đổi trong các hàm do người dùng xác định bằng cách sử dụng mã thông báo Making a cup of cappuccino. Making a cup of . Making a cup of espresso.2. Lưu ý: Cũng có thể đạt được các đối số có độ dài thay đổi bằng cách sử dụng các hàm func_num_args (), func_get_arg () và func_get_args (). Kỹ thuật này không được khuyến nghị vì nó đã được sử dụng trước khi giới thiệu mã thông báo |