Theo mặc định, các biến PHP được truyền theo giá trị dưới dạng đối số hàm trong PHP. Khi các biến trong PHP được truyền theo giá trị, phạm vi của biến được xác định ở cấp hàm bị ràng buộc trong phạm vi của hàm. Thay đổi một trong hai biến không có bất kỳ ảnh hưởng nào đến một trong hai biến Show Ví dụ Function geeksforgeeks Function geeksforgeeks4 Function geeksforgeeks Function geeksforgeeks5 Function geeksforgeeks Function geeksforgeeks6 Function geeksforgeeks Function geeksforgeeks7 Function geeksforgeeks Function geeksforgeeks8 Function geeksforgeeks Function geeksforgeeks9 Function geeksforgeeks Function geeksforgeeks0 Function geeksforgeeks Function geeksforgeeks1 Function geeksforgeeks Function geeksforgeeks0 Function geeksforgeeks Function geeksforgeeks1 Function geeksforgeeks Function geeksforgeeks1 Function geeksforgeeks Function geeksforgeeks3 Function geeksforgeeks Function geeksforgeeks4 Function geeksforgeeks Function geeksforgeeks5 Function geeksforgeeks Function geeksforgeeks6 Function geeksforgeeks Function geeksforgeeks7 Function geeksforgeeks Function geeksforgeeks5 _______01____240 Function geeksforgeeks Function geeksforgeeks1____242 Function geeksforgeeks Function geeksforgeeks43 Function geeksforgeeks Function geeksforgeeks1 Function geeksforgeeks Function geeksforgeeks45 Function geeksforgeeks Function geeksforgeeks46 Function geeksforgeeks Function geeksforgeeks5 Function geeksforgeeks Function geeksforgeeks48 Function geeksforgeeks Function geeksforgeeks1 Function geeksforgeeks Function geeksforgeeks3 Function geeksforgeeks Function geeksforgeeks51 Function geeksforgeeks Function geeksforgeeks5 Function geeksforgeeks Function geeksforgeeks6 Function geeksforgeeks Function geeksforgeeks7 Function geeksforgeeks Function geeksforgeeks0 Function geeksforgeeks Function geeksforgeeks1 Function geeksforgeeks Function geeksforgeeks45 Function geeksforgeeks Function geeksforgeeks42 Function geeksforgeeks Function geeksforgeeks43____31 Function geeksforgeeks Function geeksforgeeks45 Function geeksforgeeks Function geeksforgeeks62 đầu ra. Function geeksforgeeks Function geeksforgeeks3 Chuyển qua tham chiếu. Khi các biến được truyền theo tham chiếu, cần sử dụng ký hiệu & (dấu và) trước đối số biến. Ví dụ. hàm( &$x ). Phạm vi của cả biến toàn cục và biến hàm trở thành toàn cầu vì cả hai biến được xác định bởi cùng một tham chiếu. Vì vậy, mỗi khi biến toàn cục thay đổi thì biến bên trong hàm cũng thay đổi theo và ngược lại. Các hàm được tham số hóa trong PHP là các hàm có tham số. Bạn có thể truyền bất kỳ số lượng tham số nào bên trong một hàm. Các tham số được truyền này hoạt động như các biến bên trong hàm của bạn Chúng được chỉ định bên trong dấu ngoặc đơn, sau tên hàm Đầu ra phụ thuộc vào các giá trị động được truyền dưới dạng tham số vào hàm Ví dụ tham số hóa PHP 1Cộng và trừ Trong ví dụ này, chúng ta đã truyền hai tham số $x và $y bên trong hai hàm add() và sub() đầu ra Ví dụ tham số hóa PHP 2Phép cộng và phép trừ với số động Trong ví dụ này, chúng ta đã truyền hai tham số $x và $y bên trong hai hàm add() và sub() đầu ra Chúng tôi đã thông qua số sau, Bây giờ nhấp vào nút THÊM, chúng tôi nhận được đầu ra sau Bây giờ, nhấp vào nút SUBTRACTION, chúng tôi nhận được đầu ra sau Một hàm trong PHP có thể được định nghĩa để chấp nhận đầu vào từ việc gọi môi trường/tập lệnh dưới dạng đối số. Các đối số này được đưa ra dưới dạng danh sách được phân tách bằng dấu phẩy bên trong dấu ngoặc đơn trước tên hàm. Lưu ý rằng trong khi gọi một hàm, phải truyền cùng một số đối số cho nó PHP hỗ trợ gọi một hàm bằng cách truyền giá trị, tham chiếu, đối số với giá trị mặc định và bằng cách truyền số lượng đối số thay đổi chức năng với các đối sốTrong ví dụ sau, một hàm được định nghĩa với hai đối số hình thức. Khi hàm này được gọi bằng cách chuyển đối số theo giá trị. Các đối số của hàm trở thành các biến cục bộ của nó. Do đó, mọi thay đổi về giá trị của đối số bên trong hàm không phản ánh bên ngoài nó Ở đây, giá trị của $x được thay đổi bên trong hàm, nhưng nếu chúng ta kiểm tra giá trị của nó sau khi gọi hàm thì nó không thay đổi Ví dụBản thử trực tiếp Function geeksforgeeks Function geeksforgeeks4 đầu raĐiều này sẽ tạo ra kết quả sau. - Function geeksforgeeks Function geeksforgeeks5 Truyền mảng cho hàmTrong ví dụ sau, hàm add() được định nghĩa để nhận mảng làm đối số. Bên trong hàm, các phần tử mảng được duyệt qua vòng lặp foreach Ví dụBản thử trực tiếp đầu raĐiều này sẽ tạo ra kết quả sau. - Function geeksforgeeks Function geeksforgeeks6 Truyền đối số bằng tham chiếuCác giá trị được truyền cho các đối số của hàm theo giá trị. Do đó, những thay đổi đối với giá trị của đối số bên trong hàm không được phản ánh bên ngoài nó. Khi các đối số được truyền theo tham chiếu, các thay đổi được chuyển sang giá trị của đối số bên ngoài nó Để nhận giá trị theo tham chiếu, tên của đối số phải có tiền tố là ký hiệu $ Ví dụBản thử trực tiếp Function geeksforgeeks Function geeksforgeeks7 đầu raĐiều này sẽ tạo ra kết quả sau. - Function geeksforgeeks Function geeksforgeeks8 Giá trị của biến $x và $y được hoán đổi cho nhau trong hàm swap(). Vì, các biến được truyền theo tham chiếu, nên các biến cũng hiển thị các giá trị đã sửa đổi bên ngoài hàm Gợi ý kiểu (Khai báo kiểu)PHP trên thực tế là một ngôn ngữ kiểu động. Do đó, không cần thiết phải khai báo một biến với kiểu của nó (như trong C/C++ hoặc Java). Tuy nhiên, khai báo kiểu của các đối số trong một hàm cho phép trình phân tích cú pháp phát hiện các kiểu dữ liệu không chính xác được truyền cho hàm cú phápFunction geeksforgeeks Function geeksforgeeks9 Tất cả các kiểu dữ liệu PHP tiêu chuẩn bao gồm các kiểu vô hướng, mảng, lớp/giao diện, có thể lặp lại và đối tượng là các kiểu hợp lệ để cung cấp gợi ý kiểu trong khai báo hàm Ví dụBản thử trực tiếp Function geeksforgeeks Function geeksforgeeks0 đầu raĐiều này sẽ tạo ra kết quả sau. - Function geeksforgeeks Function geeksforgeeks1 Cũng có thể lấy danh sách các đối số được truyền cho một hàm với sự trợ giúp của hàm func_get_args(). Chúng ta có thể chạy một vòng lặp PHP để duyệt 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 Ví dụBản thử trực tiếp Function geeksforgeeks Function geeksforgeeks2 đầu raĐiều này sẽ tạo ra kết quả sau. - Function geeksforgeeks Function geeksforgeeks3 Lưu ý rằng trong lần gọi hàm add() thứ hai, số float được đưa ra làm đối số, nhưng vẫn không có lỗi/cảnh báo nào được hiển thị. Điều này là do nội bộ PHP buộc float thành số nguyên để thực hiện phép cộng. Để ngăn chuyển đổi loại tự động như vậy, hãy sử dụng khai báo cấu trúc với nghiêm ngặt_types=1 Làm cách nào để chuyển chuỗi thành hàm trong PHP?Truyền đối số bằng tham chiếu ¶
. $str = 'Đây là một chuỗi, '; add_some_extra($str); echo $str; // outputs 'This is a string, and something extra.
Hàm tham số 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. Tham số là giá trị bạn chuyển đến 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 mà bạn chuyển nhanh chóng.
Làm cách nào để chuyển n số đối số trong PHP?PHP hỗ trợ hàm đối số có độ dài thay đổi. Nó có nghĩa là bạn có thể truyền 0, 1 hoặc n số đối số trong hàm. Để làm như vậy, bạn cần sử dụng 3 dấu chấm lửng (dấu chấm) trước tên đối số . Khái niệm 3 dấu chấm được triển khai cho đối số có độ dài thay đổi kể từ PHP 5. 6. |