Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Dynamische PHP Funktionen aufrufen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Dynamische PHP Funktionen aufrufen?

    Hallo,
    kann man PHP Funktionen "dynamisch" aufrufen?

    Beispiel: Eine PHP Funktion bekommt einen String Parameter "intval" und ruft dann die Funktion intval() auf.

    Ich kenne aktuell nur eine Lösung, wenn die Methoden alle festgelegt wurden bzw. bekannt sind. Dann könnte man ja mit switch oder if darauf zugreifen.

    Doch wird bei array_map() in der Callbackangabe doch sicherlich in der Funktion nicht jede PHP Funktion enthalten sein?

    (Ich möchte es nicht anwenden, mich würde es nur interessieren ob sowas in PHP funktioniert)

  • #2
    Ja sowas gibt es
    [MAN]call_user_func[/MAN]
    [MAN]call_user_func_array[/MAN]
    [IMG]http://media.ubuntuusers.de/portal/files/ubuntu.png[/IMG][IMG]http://sqlmanager.net/i/ico/mysql.gif[/IMG][SIGPIC][/SIGPIC]

    Kommentar


    • #3
      Hallo Frank,

      vielen Dank.

      In der Doku hab ich gleich eine weitere Interessante Sache entdeckt, welche zu diesem Thema passt:

      Code:
      call_user_func  (  string $function_name  [,  mixed $parameter  [,  mixed $...  ]] )
      Scheinbar kann man hier unbegrenzte Parameter übergeben. Gibt es da auch eine Möglichkeit dies zu realisieren, ohne die ganzen potentiellen Parameter festzulegen?

      EDIT:
      Habs gefunden sry

      http://de.php.net/manual/de/function.func-get-args.php

      Kommentar


      • #4
        Wenn du einen Funktionsnamen in einer Variable hast kannst du die Funktion auch ganz einfach aufrufen:

        PHP-Code:
        $func 'intval';
        $wert "15.5";
        echo 
        $func($wert); 
        ist das selbe wie "intval($wert)".

        Für sowas wie oben genannt musst du also nicht unbedingt call_user_func nutzen.

        Kommentar

        Lädt...
        X