Hướng dẫn how to create function dynamically in php? - làm thế nào để tạo một hàm động trong php?
Được rồi, thử thách được chấp nhận!Cho dù câu hỏi kỳ lạ như thế nào (nó không phải là btw), chúng ta hãy nghiêm túc trong giây lát! Nó có thể hữu ích khi có một lớp có thể khai báo các chức năng và biến chúng thành sự thật: Show
Đó là nó! Bây giờ chúng là các chức năng thực sự. Không có $ -prefixing, không có đánh giá thời gian chạy nào bất cứ khi nào chúng được gọi - eval () chỉ cần một lần, để khai báo. Sau đó, họ hoạt động như bất kỳ chức năng nào. Hãy thử chúng:
Phép thuật phía sauĐây là lớp học có thể làm điều này. Thực sự không phải là một điều phức tạp:
Nó cung cấp lưu trữ bên trong cho các chức năng của bạn, và sau đó khai báo các chức năng "thực" gọi chúng. Đây là một cái gì đó tương tự như giải pháp của Fardjad, nhưng với mã thực (không phải chuỗi) và do đó thuận tiện và dễ đọc hơn rất nhiều. Làm thế nào để tạo chức năng mới trong PHP? Tạo hàm do người dùng xác định trong Php Note: Tên hàm phải bắt đầu bằng chữ cái hoặc dấu gạch dưới. Tên chức năng không nhạy cảm trường hợp. MIPO: Đặt cho chức năng một cái tên phản ánh những gì chức năng làm! — Create a function dynamically by evaluating a string of code Làm thế nào chúng ta có thể gọi chức năng động trong PHP giải thích nó bằng một ví dụ? Hàm động gọi có thể gán tên hàm là chuỗi cho các biến và sau đó xử lý các biến này chính xác như chính bạn sẽ tự tên. Ví dụ sau mô tả hành vi này. Phương pháp động trong PHP là gì?Để gọi một phương thức có nghĩa là chúng ta có thể gán tên phương thức cho bất kỳ biến nào và gọi phương thức bằng cách sử dụng biến đó, trong trường hợp chuyển đổi của khối khác hoặc bất kỳ nơi nào tùy thuộc vào yêu cầu của chúng tôi.(string (Php 4> = 4.0.1, Php 5, Php 7) created_function - Tạo một hàm động bằng cách đánh giá một chuỗi mãeval() and as such has the same security issues as eval(). It also has bad performance and memory usage characteristics, because the created functions are global and can not be freed. Cảnh báo Chức năng này đã được không dùng nữa kể từ Php 7.2.0 và được loại bỏ kể từ Php 8.0.0. Dựa vào chức năng này là rất nản lòng.Sự mô tả created_function (Chuỗi$args , chuỗi $code ): ChuỗiThận trọng Hàm này thực hiện một eval () và do đó có các vấn đề bảo mật tương tự như eval (). Nó cũng có hiệu suất xấu và đặc điểm sử dụng bộ nhớ, bởi vì các chức năng được tạo là toàn cầu và không thể được giải phóng.Thay vào đó, một hàm ẩn danh bản địa nên được sử dụng. Thông số Thông thường nên vượt qua các tham số này như các chuỗi được trích dẫn đơn. Nếu sử dụng các chuỗi được trích dẫn kép, các tên biến trong mã cần được thoát cẩn thận, ví dụ: 3), so care should be taken when printing the name or incorporating it in any other string. hello('World'); // "Hello World" goodbye('world','today'); // "Goodbye cruel world, I'm leaving you today" 0Các đối số chức năng, như một chuỗi được phân tách bằng dấu phẩy.create_function() or anonymous functions
1create_function(): 4Mã chức năng. 5Trả về giá trị ln(2) + ln(2.718281828459) = 1.6931471805599 Trả về một tên hàm duy nhất dưới dạng chuỗi hoặc Ví dụ 6 7 8Ví dụ #1 Tạo hàm động, với các hàm created_function () hoặc ẩn danh 9 7 1Trả về giá trị Using the first array of dynamic functions parameters: 2.3445, M_PI some trig: -1.6291725057799 a hypotenuse: 3.9199852871011 b*a^2 = 4.8103313314525 min(b^2+a, a^2,b) = 8.6382729035898 ln(a)/b = 0.27122299212594 Using the second array of dynamic functions ** "Twas the night" and "Twas brilling and the slithy toves" ** Look the same to me! (looking at the first 3 chars) CRCs: 3569586014, 342550513 similar(a,b) = 11(45.833333333333%) Trả về một tên hàm duy nhất dưới dạng chuỗi hoặc Ví dụarray_walk() or usort(). 2 3Trả về giá trị Array ( [0] => the mango [1] => a mango [2] => that mango [3] => this mango ) Trả về một tên hàm duy nhất dưới dạng chuỗi hoặc 2 khi thất bại. Lưu ý rằng tên chứa một ký tự không thể in ( 3), vì vậy nên cẩn thận khi in tên hoặc kết hợp nó trong bất kỳ chuỗi nào khác.create_function(): 4 5
Trả về giá trị Original: Array ( [0] => small [1] => a big string [2] => larger [3] => it is a string thing ) Sorted: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small ) Trả về một tên hàm duy nhất dưới dạng chuỗi hoặc Ví dụ 6Ví dụ #1 Tạo hàm động, với các hàm created_function () hoặc ẩn danh ¶ 15 năm trước 7 8 9Phlyst ¶ ¶ 15 năm trước ln(2) + ln(2.718281828459) = 1.69314718055990 ln(2) + ln(2.718281828459) = 1.69314718055991 9Kak dot serpom dot po dot yaitsam tại gmail dot com ¶ ¶ 10 năm trước ln(2) + ln(2.718281828459) = 1.69314718055993 ln(2) + ln(2.718281828459) = 1.69314718055994 ln(2) + ln(2.718281828459) = 1.69314718055995 ln(2) + ln(2.718281828459) = 1.69314718055996 Kkaiser tại Revolution-Records Dot Net ¶ 15 năm trước ln(2) + ln(2.718281828459) = 1.69314718055997 ln(2) + ln(2.718281828459) = 1.69314718055998 ln(2) + ln(2.718281828459) = 1.69314718055999 Using the first array of dynamic functions parameters: 2.3445, M_PI some trig: -1.6291725057799 a hypotenuse: 3.9199852871011 b*a^2 = 4.8103313314525 min(b^2+a, a^2,b) = 8.6382729035898 ln(a)/b = 0.27122299212594 Using the second array of dynamic functions ** "Twas the night" and "Twas brilling and the slithy toves" ** Look the same to me! (looking at the first 3 chars) CRCs: 3569586014, 342550513 similar(a,b) = 11(45.833333333333%)0 Thông tin tại Adaniels Dot NL ¶ ¶ 16 năm trước Using the first array of dynamic functions parameters: 2.3445, M_PI some trig: -1.6291725057799 a hypotenuse: 3.9199852871011 b*a^2 = 4.8103313314525 min(b^2+a, a^2,b) = 8.6382729035898 ln(a)/b = 0.27122299212594 Using the second array of dynamic functions ** "Twas the night" and "Twas brilling and the slithy toves" ** Look the same to me! (looking at the first 3 chars) CRCs: 3569586014, 342550513 similar(a,b) = 11(45.833333333333%)1 Using the first array of dynamic functions parameters: 2.3445, M_PI some trig: -1.6291725057799 a hypotenuse: 3.9199852871011 b*a^2 = 4.8103313314525 min(b^2+a, a^2,b) = 8.6382729035898 ln(a)/b = 0.27122299212594 Using the second array of dynamic functions ** "Twas the night" and "Twas brilling and the slithy toves" ** Look the same to me! (looking at the first 3 chars) CRCs: 3569586014, 342550513 similar(a,b) = 11(45.833333333333%)2 9Chắc chắn ¶ ¶ 9 năm trước Using the first array of dynamic functions parameters: 2.3445, M_PI some trig: -1.6291725057799 a hypotenuse: 3.9199852871011 b*a^2 = 4.8103313314525 min(b^2+a, a^2,b) = 8.6382729035898 ln(a)/b = 0.27122299212594 Using the second array of dynamic functions ** "Twas the night" and "Twas brilling and the slithy toves" ** Look the same to me! (looking at the first 3 chars) CRCs: 3569586014, 342550513 similar(a,b) = 11(45.833333333333%)4 Using the first array of dynamic functions parameters: 2.3445, M_PI some trig: -1.6291725057799 a hypotenuse: 3.9199852871011 b*a^2 = 4.8103313314525 min(b^2+a, a^2,b) = 8.6382729035898 ln(a)/b = 0.27122299212594 Using the second array of dynamic functions ** "Twas the night" and "Twas brilling and the slithy toves" ** Look the same to me! (looking at the first 3 chars) CRCs: 3569586014, 342550513 similar(a,b) = 11(45.833333333333%)5 9Dave H ¶ ¶ 11 năm trước Using the first array of dynamic functions parameters: 2.3445, M_PI some trig: -1.6291725057799 a hypotenuse: 3.9199852871011 b*a^2 = 4.8103313314525 min(b^2+a, a^2,b) = 8.6382729035898 ln(a)/b = 0.27122299212594 Using the second array of dynamic functions ** "Twas the night" and "Twas brilling and the slithy toves" ** Look the same to me! (looking at the first 3 chars) CRCs: 3569586014, 342550513 similar(a,b) = 11(45.833333333333%)7 Using the first array of dynamic functions parameters: 2.3445, M_PI some trig: -1.6291725057799 a hypotenuse: 3.9199852871011 b*a^2 = 4.8103313314525 min(b^2+a, a^2,b) = 8.6382729035898 ln(a)/b = 0.27122299212594 Using the second array of dynamic functions ** "Twas the night" and "Twas brilling and the slithy toves" ** Look the same to me! (looking at the first 3 chars) CRCs: 3569586014, 342550513 similar(a,b) = 11(45.833333333333%)8 Using the first array of dynamic functions parameters: 2.3445, M_PI some trig: -1.6291725057799 a hypotenuse: 3.9199852871011 b*a^2 = 4.8103313314525 min(b^2+a, a^2,b) = 8.6382729035898 ln(a)/b = 0.27122299212594 Using the second array of dynamic functions ** "Twas the night" and "Twas brilling and the slithy toves" ** Look the same to me! (looking at the first 3 chars) CRCs: 3569586014, 342550513 similar(a,b) = 11(45.833333333333%)9 Array ( [0] => the mango [1] => a mango [2] => that mango [3] => this mango )0 lombax85 tại gmail dot com ¶ 1 năm trước Array ( [0] => the mango [1] => a mango [2] => that mango [3] => this mango )1 Neo tại Nowhere dot com ¶ ¶ 14 năm trước Array ( [0] => the mango [1] => a mango [2] => that mango [3] => this mango )2 Array ( [0] => the mango [1] => a mango [2] => that mango [3] => this mango )3 9Alan Fung ¶ 14 năm trước Array ( [0] => the mango [1] => a mango [2] => that mango [3] => this mango )5 Array ( [0] => the mango [1] => a mango [2] => that mango [3] => this mango )6 Array ( [0] => the mango [1] => a mango [2] => that mango [3] => this mango )7 9Alan Fung ¶ 14 năm trước Array ( [0] => the mango [1] => a mango [2] => that mango [3] => this mango )9 Original: Array ( [0] => small [1] => a big string [2] => larger [3] => it is a string thing ) Sorted: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small )0 Original: Array ( [0] => small [1] => a big string [2] => larger [3] => it is a string thing ) Sorted: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small )1 Original: Array ( [0] => small [1] => a big string [2] => larger [3] => it is a string thing ) Sorted: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small )2 Original: Array ( [0] => small [1] => a big string [2] => larger [3] => it is a string thing ) Sorted: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small )3 Alan Fung ¶ 15 năm trước Original: Array ( [0] => small [1] => a big string [2] => larger [3] => it is a string thing ) Sorted: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small )4 Thông tin tại Adaniels Dot NL ¶ ¶ 16 năm trước Original: Array ( [0] => small [1] => a big string [2] => larger [3] => it is a string thing ) Sorted: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small )5 Original: Array ( [0] => small [1] => a big string [2] => larger [3] => it is a string thing ) Sorted: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small )6 Original: Array ( [0] => small [1] => a big string [2] => larger [3] => it is a string thing ) Sorted: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small )7 9Chắc chắn ¶ ¶ 16 năm trước Original: Array ( [0] => small [1] => a big string [2] => larger [3] => it is a string thing ) Sorted: Array ( [0] => it is a string thing [1] => a big string [2] => larger [3] => small )9 Chắc chắn ¶ ¶ 16 năm trước
$args 3Chắc chắn ¶ ¶ 16 năm trước
9Chắc chắn ¶ ¶ 9 năm trước
9Dave H ¶ ¶ 9 năm trước
9Dave H ¶ ¶ 11 năm trước
\$somevar 0lombax85 tại gmail dot com ¶ 1 năm trước
9Neo tại Nowhere dot com ¶ ¶ 14 năm trước
\$somevar 8Làm thế nào để tạo tên chức năng động trong PHP?"_custom_type_init"; function $ functionName () {toàn cầu $ tiền tố; Đăng ký_post_type ($ tiền tố, mảng ('nhãn' => mảng ('name' => $ prefix, 'singular_label' => $ prefix, 'add_new' => 'add', ...)) , $ tiền tố);} add_action ('init', $ tiền tố.
Làm thế nào để tạo chức năng mới trong PHP?Tạo hàm do người dùng xác định trong Php Note: Tên hàm phải bắt đầu bằng chữ cái hoặc dấu gạch dưới.Tên chức năng không nhạy cảm trường hợp.MIPO: Đặt cho chức năng một cái tên phản ánh những gì chức năng làm!A function name must start with a letter or an underscore. Function names are NOT case-sensitive. Tip: Give the function a name that reflects what the function does!
Làm thế nào chúng ta có thể gọi chức năng động trong PHP giải thích nó bằng một ví dụ?Hàm động gọi có thể gán tên hàm là chuỗi cho các biến và sau đó xử lý các biến này chính xác như chính bạn sẽ tự tên.Ví dụ sau mô tả hành vi này.assign function names as strings to variables and then treat these variables exactly as you would the function name itself. Following example depicts this behaviour.
Phương pháp động trong PHP là gì?Để gọi một phương thức có nghĩa là chúng ta có thể gán tên phương thức cho bất kỳ biến nào và gọi phương thức bằng cách sử dụng biến đó, trong trường hợp chuyển đổi của khối khác hoặc bất kỳ nơi nào tùy thuộc vào yêu cầu của chúng tôi.assign method name to any variable and call the method using that variable, either in switch case of if else block or anywhere depending on our requirement. |