Hàm ẩn danh đệ quy PHP
Bây giờ các chức năng ẩn danh đã có sẵn kể từ PHP 5. 3, Tôi thấy mình thường xuyên sử dụng chúng. Tuy nhiên, có một điều mà tôi dường như không thể hiểu đúng là có thể tự tạo một tham chiếu hàm ẩn danh - khi làm như vậy, nó sẽ gọi chính nó theo cách đệ quy Show Làm thế nào để bạn làm điều này?
Điều này trở nên tẻ nhạt khi gọi đi gọi lại (có thể đặt nó trong một vòng lặp
Giải phápĐể hàm ẩn danh có thể gọi chính nó một cách đệ quy, chúng ta cần đảm bảo rằng nó có một tham chiếu đến chính nó để nó có thể gọi. Vì vậy, giải pháp của chúng tôi, sử dụng một bao đóng Có thể bạn quan tâm
Một lưu ý cuối cùngLưu ý cách hàm tự tham chiếu - sử dụng tham chiếu biến. Tại sao điều này là cần thiết? Vì biến Trong quá trình phát triển Florrie, tôi gặp phải một tình huống yêu cầu đệ quy. Tuy nhiên, tôi đang làm việc trong một lớp học và không muốn lãng phí lớp học của mình với các chức năng không thể sử dụng lại, có mục đích duy nhất. tôi phải đối mặt với một vấn đề; Đầu tiên, tôi sẽ làm rõ một chút về sự khác biệt giữa hàm tĩnh và hàm ẩn danh trong PHP. Nếu bạn biết tất cả những thứ này, hãy bỏ qua phần tiếp theo Các hàm tĩnh là tiêu chuẩn trong các tập lệnh PHP. Nếu bạn định nghĩa một hàm như thế này, thì nó là tĩnh
Hàm 0 đã được xác định tĩnh và nếu bạn cố xác định lại chúng, bạn sẽ nhận được lỗi nghiêm trọng sau. 1Hàm ẩn danh, còn được gọi là hàm đóng, được khai báo nội tuyến và được sử dụng bởi một đoạn mã khác. Chúng được định nghĩa theo cách này
Các loại chức năng này thường được sử dụng làm chức năng gọi lại, vì vậy bạn không có chức năng tĩnh bổ sung nằm xung quanh chỉ thực hiện một việc. Các hàm ẩn danh không nhất thiết phải được gán cho một biến; . Đây là một ví dụ nhanh sử dụng 2
Vì vậy, trở lại câu hỏi ban đầu. bạn có thể sử dụng hàm ẩn danh theo cách đệ quy không? Hóa ra là có, một chức năng ẩn danh có thể tự gọi chính nó. Có một vài phương pháp để làm điều đó, nhưng chỉ có một phương pháp rất có ý nghĩa Để sử dụng một hàm ẩn danh một cách đệ quy, chúng ta cần cung cấp cho nó một cách để gọi chính nó. Thật không may, không có cách tích hợp nào để thực hiện việc này; . Điều đó dường như không phải là trường hợp, mặc dù. Có lẽ trong một phiên bản trong tương lai? Hiện tại, cách duy nhất để cho phép một hàm ẩn danh gọi chính nó là gán nó cho một biến và cung cấp cho hàm ẩn danh một tham chiếu đến chính nó bằng cách sử dụng từ khóa Vì điều này phải được thực hiện trong khi chức năng ẩn danh đang được xác định, nên nó phải được gửi bằng tham chiếu; Ví dụ nhanh, đây là ví dụ giai thừa đệ quy được thực hiện trong PHP
Tôi đang sử dụng công cụ này để phân tích và xử lý các tệp XML theo cách đệ quy, nhưng bạn có thể sử dụng nó cho bất kỳ nơi nào mà bạn cần một chút đệ quy mà không cần thêm các chức năng bổ sung Hàm ẩn danh có thể được đệ quy không?Ngay cả khi không có cơ chế tham chiếu đến hàm hiện tại hoặc hàm gọi, có thể sử dụng đệ quy ẩn danh trong ngôn ngữ cho phép các hàm làm đối số . Điều này được thực hiện bằng cách thêm một tham số khác vào hàm đệ quy cơ bản và sử dụng tham số này làm hàm gọi đệ quy.
PHP có chức năng ẩn danh không?Hàm ẩn danh, còn được gọi là bao đóng, cho phép tạo các hàm không có tên cụ thể. Chúng hữu ích nhất với vai trò là giá trị của các tham số có thể gọi được, nhưng chúng cũng có nhiều cách sử dụng khác. Các hàm ẩn danh được triển khai bằng cách sử dụng lớp Đóng . printf("Xin chao %s\r\n", $name);
Hàm đệ quy PHP là gì?Đệ quy trong PHP - sử dụng khi nào và như thế nào. Xuất bản ngày 13 tháng 11 năm 2021. Đệ quy là một giải pháp lập trình trong đó hàm gọi chính nó . Nó được sử dụng để giải quyết nhiều vấn đề khác nhau, tất cả đều có điểm chung là cấu trúc chứa sự lặp lại.
Cú pháp của hàm ẩn danh trong PHP là gì?Cú pháp. $var=function ($arg1, $arg2) { return $val; . Có dấu chấm phẩy sau định nghĩa hàm vì định nghĩa hàm ẩn danh là biểu thức. There is no function name between the function keyword and the opening parenthesis. There is a semicolon after the function definition because anonymous function definitions are expressions. |
Bài Viết Liên Quan
Kỳ nghỉ giữa kỳ tháng 4 năm 2023 là bao nhiêu ngày?
Thời gian nghỉ giữa kỳ năm học 2022-2023 là khi nào? Giáo dục từ xa qua Mạng thông tin giáo viên (ÖBA) sẽ như thế nào?MEB công bố. được làm từ ÖBA. Bộ ...
Thay màn hình ipx giá bao nhiêu
Điện thoại iPhone X của bạn màn hình bị chảy loang mực, vỡ màn không lên hay màn không hiển thị nhưng vẫn có chuông ? Bạn đang phân vân không biết tìm địa ...
Thêm một ngày javascript
Khi bạn viết mã để chỉ định một lượng thời gian, hãy sử dụng lớp hoặc phương thức đáp ứng tốt nhất nhu cầu của bạn. lớp Thời lượng, lớp Thời ...
Cài đặt tiện ích mở rộng mysql PHP 8
Could not install mysql, on windows, had several conflicts or bugs.In order to solve it:* Used the libmysql.dll provided by PHP zip files, not the one that comes with Mysql, the mysql file had to ...
Trình viết mã yêu cầu không hợp lệ (yêu cầu ssl không được hỗ trợ)
Đôi khi, khi chúng tôi thực hiện lệnh gọi cuộn tròn tới các dịch vụ của bên thứ ba, chúng tôi gặp lỗi cuộn tròn. (60) Chứng chỉ SSL. không thể lấy chứng ...
Tôi có thể học c và c ++ sau python không?
C thường được gọi là ngôn ngữ máy tính cấp trung vì nó kết hợp các yếu tố của ngôn ngữ cấp cao với chức năng của hợp ngữ. C++ là phiên bản nâng cao ...
Một bộ chọn loại duy nhất trong css là gì?
Sau đây là danh sách các bộ chọn CSS phổ biến và được hỗ trợ tốt nhất. Còn nhiều, rất nhiều nữa, nhưng đây là những cái bạn nên biết rõBộ chọn ...
Gọi hàm PHP trong HTML
Hàm và cách gọi hàm trong PHP Đăng bởi: Quốc Bảo Lesson 08: Hàm và cách gọi hàm trong PHP. Khóa học lập trình website cơ bản với PHP Laravel. Liên hệ đăng ký ...
Bảo mật cơ bản 2023 cho người khuyết tật
Năm nay cũng vậy, nhiều thay đổi trong luật định và các quy định pháp lý khác đã có hiệu lực, đồng nghĩa với những thay đổi quan trọng đối với người ...
Godaddy wordpress wp quản trị 404
Bạn có thể đã thấy lỗi “Không tìm thấy trang” trước đây. Thật không may, nếu bạn điều hành một trang web thuộc bất kỳ loại nào (WordPress hay không), ...
Làm cách nào tôi có thể lấy thông tin sửa đổi cuối cùng của tệp bằng PHP?
Nếu trang web của bạn chứa thông tin nhạy cảm về thời gian—hoặc ngay cả khi không có—bạn có thể muốn hiển thị lần cuối cùng một tệp được sửa ...
Làm cách nào để thay đổi kích thước phương thức trong Bootstrap 5?
html3_______2__________>6 >7_______5__________35 36=15 39=6_______41> Các phương thức trong Bootstrap được sử dụng để thêm hộp thoại để thông báo cho người dùng hoặc ...
Đồng bạc hoa xòe 1908 giá bao nhiêu
Nói đến đồng bạc Đông Dương, nhiều người chỉ nghĩ hoặc biết đó là một loại tiền tệ được rập và lưu hành trong thời Pháp thuộc. Điều này đúng ...
Làm thế nào để InternalHTML thiết lập giá trị?
Trình duyệt giá trị trả về mã. DomElement(//div[@id=mylinks]). GetProperty(textContents)This is my link collection:trình duyệt. DomElement(//div[@id=mylinks]). ...
Tên hàm python bên trong hàm
Cách Pythonic nhất để trích xuất tên từ bất kỳ đối tượng hoặc lớp nào là sử dụng thuộc tính __name__ của nó. Các thuộc tính được đặt trong hai dấu ...
Lệnh python3 không tìm thấy
Tôi đã bắt đầu quay trở lại quá trình phát triển Python khi tôi sẵn sàng đến với PyCon US. (Nếu bạn cũng đang hướng đến đó và muốn chia sẻ câu chuyện ...
Nhập học đầu tiên USAC 2023
Giáo dụcUsac sẽ thông báo trực tiếp những gì và làm thế nào để học tại trường Đại họcNhững người trẻ tuổi sẽ có thể tìm hiểu về đề nghị học ...
Tạo email triển vọng python
Một trong những câu chuyện phổ biến nhất của chúng tôi đã thảo luận về cách tự động gửi email bằng Python. Trong bài viết đó, chúng tôi đã sử dụng thư ...
Có phương thức chứa trong php không?
Đôi khi, bạn có thể muốn kiểm tra xem một chuỗi có chứa một từ hoặc chuỗi con cụ thể hay không. Điều này là do bạn có thể phải thực hiện một số thao ...
Tôi có thể sử dụng mysql thay vì mariadb không?
Trước hết, MariaDB cung cấp nhiều công cụ lưu trữ tốt hơn. Hỗ trợ NoSQL, do Cassandra cung cấp, cho phép bạn chạy SQL và NoSQL trong một hệ thống cơ sở dữ ...