Không, nó không thể làm được điều này như bạn mong đợi.
Từ manual
:
PHP không hỗ trợ chức năng quá tải, cũng không phải là nó có thể undefine hoặc xác định lại chức năng trước đó tuyên bố.
Tuy nhiên, bạn có thể sử dụng runkit_function_redefine
và anh em họ của nó, nhưng nó chắc chắn không phải là rất thanh lịch ...
Bạn cũng có thể sử dụng create_function
để làm một cái gì đó như thế này:
<?php
$func = create_function('$a,$b','return $a + $b;');
echo $func(3,5); // 8
$func = create_function('$a,$b','return $a * $b;');
echo $func(3,5); // 15
?>
Như với runkit, nó không phải là rất thanh lịch, nhưng nó mang lại cho hành vi bạn đang tìm kiếm.
Nguồn
2009-02-10 00:25:18
Tốt, tại sao câu trả lời này không được chấp nhận? – Pacerier
Rất có thể, vì nó được đăng gần bốn năm sau câu hỏi và câu trả lời được chấp nhận có lẽ là câu trả lời phù hợp nhất vào thời điểm đó. –
Tôi vẫn ở trên SO ... Đã chấp nhận! –