Namen von übergebenen Variablen ermitteln

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

  • Namen von übergebenen Variablen ermitteln

    Hallo Forum,

    ich beschäftige mich gerade mit Funktionen, denen eine variable Anzahl von Parametern übermittelt werden können.
    Die Anzahl der Parameter und die Werte kann ich so ermitteln:
    PHP-Code:
    function test()
    {
       
    $anzahl_argumente func_num_args();
       
    $argumente=func_get_args();

        for (
    $i=0;$i<$anzahl_argumente;$i++)
       {
         echo 
    "<br>Wert von Argument $i =".$argumente[$i];
       }
    }

    $test1="Hallo";
    $kuckuck=0.345;
    $hallo="!Test!";

    test($test1,$kuckuck,$hallo); 
    Aber wie kann ich die Namen der Variablen im Aufruf ermitteln?
    Ich will die Namen in der Funktion verwenden und bräuchte so Zugriff auf "test1", "kuckuck" und "hallo". Geht das irgendwie oder steckt bereits in meinem Konstrukt ein Denkfehler?

  • #2
    PHP-Code:
    test(145.34NULL'?'); 
    was sind deiner meinung nach jetzt die namen der variablen in der funktion?

    => geht nich
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Jo danke.
      Genau das Beispiel habe ich gebraucht, um zu verstehen, warum es nicht geht.

      Dann kann ich mir jetzt beruhigt etwas anderes überlegen. *g*

      Kommentar


      • #4
        Wie wär´s mit nem assoziativen Array als Parameter?!?

        PHP-Code:
        function test($argumente)
        {
          foreach (
        $argumente as $name=>$wert)
            echo 
        "<br>Wert von Argument $name = $wert";
        }

        test(array(
          
        'erster' => 1,
          
        'fliesskomma' => 45.34,
          
        'irgendwas' => NULL,
          
        'nochwas'=> '?'
        )); 
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          Genau so habe ich das gelöst.

          Kommentar

          Lädt...
          X