Nein, es ist nicht möglich, dies zu tun, wie man erwarten könnte.
Vom manual
:
PHP arbeitet nicht Überlastung unterstützen, noch ist es möglich, zuvor deklarierte Funktionen zu definieren oder neu definieren.
Sie können jedoch runkit_function_redefine
und seine Vettern verwenden, aber es ist auf jeden Fall nicht sehr elegant ...
Sie auch create_function
verwenden können, um so etwas zu tun:
<?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
?>
Wie bei Runkit, es ist nicht sehr elegant, aber es gibt das Verhalten, das Sie suchen.
Schön, warum wird diese Antwort nicht akzeptiert? – Pacerier
Am wahrscheinlichsten, weil es fast vier Jahre nach der Frage veröffentlicht wurde, und die angenommene Antwort war zu der Zeit wahrscheinlich die relevanteste. –
Ich bin immer noch auf SO ... Akzeptiert! –