Hướng dẫn passing arguments to a function by value in php - truyền đối số cho hàm theo giá trị trong 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: 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 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 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 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 yogurt.9 Making a bowl of raspberry yogurt.0 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.
function takes_many_args( 2Ví dụ #19 Lỗi ném khi vượt qua cùng một tham số nhiều lần ¶ 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.
function takes_many_args( 6Ví dụ #20 Sử dụng các đối số được đặt tên sau khi giải nén ¶ PHP tại Richardneill Dot org ¶
function add_some_extra(&$string) 07 năm trước ¶ Lilywhite ¶
function add_some_extra(&$string) 41 năm trước ¶ Gabriel tại FigDice Dot org ¶
function add_some_extra(&$string) 96 năm trước ¶ PHP tại Richardneill Dot org ¶
function add_some_extra(&$string) 97 năm trước ¶ Lilywhite ¶
null 91 năm trước ¶ Gabriel tại FigDice Dot org ¶
function add_some_extra(&$string) 96 năm trước ¶ Lilywhite ¶
function add_some_extra(&$string) 97 năm trước ¶ Lilywhite ¶ 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) 91 năm 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 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 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4208
function add_some_extra(&$string) 96 năm trước ¶ Hayley Watson ¶ 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 5 năm trước ¶ 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. 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 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4217 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
function add_some_extra(&$string) 9Ví dụ #20 Sử dụng các đối số được đặt tên sau khi giải nén ¶ PHP tại Richardneill Dot org ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4221 7 năm trước ¶ Lilywhite ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4222 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 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4226 1 năm trước ¶ 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. Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4227 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4228
function add_some_extra(&$string) 9Ví dụ #20 Sử dụng các đối số được đặt tên sau khi giải nén ¶ Gabriel tại FigDice Dot org ¶ 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 Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4233 6 năm 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
function add_some_extra(&$string) 96 năm trước ¶ Lilywhite ¶ Fatal error: Uncaught ArgumentCountError: Too few arguments to function makeyogurt(), 1 passed in example.php on line 4239 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
function add_some_extra(&$string) 91 năm 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 4245 Php có vượt qua bằng giá trị hay vượt qua tham chiếu không?Đó là theo giá trị theo tài liệu PHP. Theo 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.by value according to the PHP Documentation. By default, function arguments are passed by value (so that if the value of the argument within the function is changed, it does not get changed outside of the function). To allow a function to modify its arguments, they must be passed by reference.
Có bao nhiêu đối số có thể được chuyển đến một chức năng trong PHP?Các hàm gốc PHP Theo hướng dẫn, các hàm PHP có thể chấp nhận tối đa 12 đối số.up to 12 arguments.
$ Params trong PHP là gì?Các hàm được tham số hóa PHP Chúng được khai báo bên trong dấu ngoặc, sau tên hàm.Một tham số là một giá trị bạn chuyển đến một hàm hoặc chiến lược.Nó có thể là một vài giá trị được đặt trong một biến, hoặc một giá trị theo nghĩa đen bạn truyền khi đang bay.Họ được gọi là lập luận.a value you pass to a function or strategy. It can be a few value put away in a variable, or a literal value you pass on the fly. They are moreover known as arguments.
Truyền qua giá trị là gì và vượt qua tham chiếu?Pass by giá trị: Các giá trị tham số phương thức được sao chép vào một biến khác và sau đó đối tượng được sao chép được truyền, đó là lý do tại sao nó được gọi là Pass by giá trị.Truyền qua tham chiếu: Một bí danh hoặc tham chiếu đến tham số thực tế được chuyển đến phương thức, đó là lý do tại sao nó được gọi là Pass by tham chiếu.The method parameter values are copied to another variable and then the copied object is passed, that's why it's called pass by value. Pass by Reference: An alias or reference to the actual parameter is passed to the method, that's why it's called pass by reference. |